1

アプリケーションに AvalonDock を実装しようとしていますが、いくつかのスタイリング手法を理解するのに苦労しています。誰かが次のいくつかの質問を手伝ってくれたら、とても感謝しています:

1) DocumentPane からメインの「閉じる」ボタンを削除し、代わりにタブに個々のボタンを配置する方法はありますか?

2) アプリケーションに、DockableContent 要素内に配置されたカスタム スタイルのボタンがあります。DockableContent がドッキングされている限り、ボタンはカスタム テンプレートを使用しますが、DockableContent を含む DockablePane を引き出してフローティングさせると、ボタンはそのテンプレートを失います。これを保持するためのトリックはありますか?

よろしくお願いします。

4

2 に答える 2

0

ソース コードをダウンロードし、変更を加え、DLL を再コンパイルするだけで、この問題を回避できました。

于 2012-01-13T14:22:04.413 に答える
0

#2 に関しては、AvalonDock の問題のようです。ドッキング可能なコンテンツがフローティングされると、スタイルが失われる TabControl があります。ドッキングすると、スタイリングが復元されます。

回避策は、StateChanged イベントのスタイルをリセットすることです。

private void OnDockableContentStateChanged (object sender, RoutedEventArgs e)
{
    if (uxDockableContent.State == DockableContentState.DockableWindow)
    {
        foreach (TabItem tabItem in uxTabControl.Items)
        {
            tabItem.Style = FindResource ("TabItemStyle") as Style;
        }
    }
}
于 2010-11-19T23:59:38.300 に答える