我有一個應用程序可以在用戶控件之間切換很多,我希望它們可以伸展到窗口的最大尺寸,但有些東西阻止它們這樣做,而是佔用最少的空間量。如何讓WPF組件佔用所有可用空間?
我注意到我的組件內的usercontrols調整大小,因爲它們應該(即按鈕鎖定到控件的底部保持原位,控件只是沒有達到窗口的底部,其中按鈕應該最終結束)我沒有設置任何與尺寸有關的屬性(我嘗試了幾個,但沒有產生預期效果)。所以我假設問題在於顯示控件的主要組件。這就是建立這樣的:
<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>
的解決方案,我用感謝艾爾諾:
變化
<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>
在這段代碼片段中沒有很多信息,你試過水平/垂直對齊=拉伸? –
我做過了,但似乎沒有效果。它默認水平伸展,但不垂直 – Valyrion
你能發佈更多的代碼嗎? –