メイン フレームワーク ウィンドウ内で Telerik RadDocking コントロールを使用しています。RadDocking には 2 つの RadSplitContainer が含まれ、各コンテナーには、データを表示する 1 つの Rad パネルを持つ RadPaneGroup があります。アプリケーションは、MVVM デザイン パターンを使用した MEF コンテナーで Prism を使用して作成されます。
説明: 左のコンテナは永続的にドッキングされているため、フローティング/自動非表示/閉じることができません。このコンテナは最小の幅と高さに設定されています。最大幅がないため、このコンテナーはメイン フレームワーク ウィンドウの使用可能なスペースを埋めることができます (たとえば、右側のコンテナーのパネルをドッキング解除してフロートさせると、左側のコンテナーがすべてのフレームワーク ウィンドウを占有します)。右のコンテナはフローティング/自動非表示/閉じることができます。このコンテナは最小の幅と高さに設定されています。
問題 1: フルスクリーンのメイン フレームワーク ウィンドウで、右のコンテナーが最小幅の右端に移動され、メイン フレームワーク ウィンドウが復元/サイズ変更された場合、コンテナーはメイン フレームワーク ウィンドウに合わせてサイズ変更されません。これにより、右にドッキングされたコンテナーと左にドッキングされたコンテナーの一部がメイン フレームワーク ウィンドウの外にドラッグされ、表示されなくなります。適切なコンテナーを表示するには、メイン フレームワーク ウィンドウのサイズを大きくするか、メイン フレームワーク ウィンドウを最大化して全画面表示にする必要があります。メイン フレームワーク ウィンドウのサイズに合わせてコンテナーのサイズを変更する方法はありますか? 右にドッキングされたコンテナが最小幅まで右端に移動されるか、左端にドッキングされたコンテナが最小幅まで左端に移動されても、パネルを含む両方のコンテナがどのシナリオでも表示されるようにします。
<telerik:RadDocking x:Name="SiteHomeDockingControl" Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1" HasDocumentHost="False"
PreviewShowCompass="SiteHomeDockingControl_PreviewShowCompass" >
<telerik:RadSplitContainer telerik:RadDocking.SerializationTag="RadSplitContainerSites" BorderThickness="0"
MinWidth="305" MinHeight="305" telerik:DockingPanel.InitialSize="1000,500">
<telerik:RadPaneGroup x:Name="RadPaneGroupSites" telerik:RadDocking.SerializationTag="RadPaneGroupSites" BorderThickness="0">
<telerik:RadPane PaneHeaderVisibility="Collapsed" CanUserClose="False" CanFloat="False" CanUserPin="False"
telerik:RadDocking.SerializationTag="RadPaneSites" >
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="35,15,15,15">
<TextBlock Text="Just an example Docked Pane 1."/>
</Grid>
</ScrollViewer>
</telerik:RadPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
<telerik:RadSplitContainer InitialPosition="DockedRight" telerik:RadDocking.SerializationTag="RadSplitContainerPlantHierarchies"
MinWidth="305" MinHeight="305" telerik:DockingPanel.InitialSize="400,500">
<telerik:RadPaneGroup telerik:RadDocking.SerializationTag="RadPaneGroupPlantHierarchies">
<telerik:RadPane telerik:RadDocking.SerializationTag="RadPanePlantHierarchies" Header="Plant Hierarchies"
IsHidden="{Binding DataContext.HidePlantHierarchies, ElementName=SiteHomeDockingControl, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<Grid>
<TextBlock Text="Just an example Docked Pane 2."/>
</Grid>
</telerik:RadPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
</telerik:RadDocking>