2 番目のパネルが下部にドッキングされ、AutoHide に設定されている Avalon Docking に問題があります。UI が実行されると、ペインは既定で Docked/Visible として読み込まれます。非表示/最小化したいと思います。
<ad:DockingManager>
<ad:ResizingPanel Orientation="Vertical">
<ad:DocumentPane>
<ad:DocumentContent>
<... data grid that fills the view>
</ad:DocumentContent>
<ad:DocumentPane>
<ad:DockablePane>
<ad:DockableContent Title="output" DockableStyle="AutoHide" IsCloseable="False">
<...some control>
Avalon フォーラムで提案されているさまざまな「ハック」を試してみました。
outputDockablePane.ToggleAutoHide();
つまり、UI が読み込まれると、ペインは非表示になります。ただし、.cs コードで自動非表示を切り替えると、実行時にドック ヘッダーをクリックして、ペインを表示/フロートすることができなくなります。したがって、 DockingMananger.OnMouseUp() を接続し、いくつかのブール値の状態を解析して、手動で ToggleAutoHide() を呼び出す必要があります - 私はその時だけだと思います。私にはハックのようです。
適切でクリーンな解決策が見つかるまで、今のところ私がやっていることは次のとおりです。
private void OnDockManagerLoaded(object sender, RoutedEventArgs e)
{
if(_firstTimeLoad && !_isDataGridLoaded)
{
outputDockablePane.ToggleAutoHide();
_forcedToAutoHide = true;
}
}
private void OnDockingManagerMouseUp(object sender, MouseButtonEventArgs e)
{
if (_forcedToAutoHide)
{
_forcedToAutoHide = false;
outputDockableContent.Activate();
outputDockablePane.ToggleAutoHide();
}
}
私が完全に欠落している設定/プロパティ、または/およびより良い方法はありますか?