私はユーザーコントロールを頻繁に切り替えるアプリケーションを持っています。ウィンドウの最大サイズまで拡大したいのですが、何かがそれを妨げており、代わりに可能な限り最小限のスペースを占有しています。
ユーザーコントロール内のコンポーネントのサイズが適切に変更されていることに気付きました(つまり、コントロールの下部にロックされているボタンは所定の位置に留まり、コントロールはウィンドウの下部に到達しておらず、最終的にボタンが表示されます)。 tそれらにサイズ関連のプロパティを設定します(私はいくつか試しましたが、どれも望ましい効果がありませんでした)。したがって、問題はコントロールを表示するメインコンポーネントにあると思います。これは次のように設定されています。
<Window.Resources>
<DataTemplate DataType="{x:Type vm:MessageViewModel}">
<vw:MessageView/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:ConnectionsViewModel}">
<vw:ConnectionView/>
</DataTemplate>
...
</Window.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding ViewModels}" Margin="0,20,0,0"/>
...
</Grid>
Ernoのおかげで私が使用したソリューション:
変化する
<ItemsControl ItemsSource="{Binding ViewModels}" Margin="0,20,0,0"/>
に
<ItemsControl ItemsSource="{Binding ViewModels}" Margin="0,20,0,0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>