一旦我運行該程序,它會在我的MainWindow中打開一個UserControl。 UserControl是一個由3個按鈕組成的菜單。 該用戶控件的圖像: Menu在MainWindow中打開新的UserControl將刪除所有空行
背後主窗口中的代碼:
<UserControl
...
d:DesignHeight="90" d:DesignWidth="525" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100*"/> //Problem
<RowDefinition Height="100*"/>
<RowDefinition Height="100*"/> //Problem
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Row="1" Margin="30,0" Content="First" Command="{Binding DataContext.SwitchToNextUserControl,
RelativeSource={RelativeSource AncestorType={x:Type local:MainWindow}}, Mode=OneWay}" />
<Button Grid.Row="1" Grid.Column="1" Margin="30,0" Content="Second"/>
<Button Grid.Row="1" Grid.Column="2" Margin="30,0" Content="Third"/>
</Grid>
該問題::
<Window
...
Title="MainWindow" Height="350" Width="525" SizeToContent="WidthAndHeight" >
<Window.DataContext>
<ViewModels:MainWindowViewModel />
</Window.DataContext>
<ContentControl Content="{Binding CurrentViewModel}"/> //Inserts a UserControl
背後菜單用戶控件的代碼 打開菜單後,空行(沒有按鈕,第一個和第三個)會摺疊(或者只是高度爲0?),如下所示:Running program 我可以通過爲每一行設置MinHeight來克服它,但它起作用只在像素上。我希望他們以星星的方式工作(「*」)。我想我可以從代碼背後設置自己的身高(使用星星),但只是想到它,讓我覺得我用左手摩擦了我的右耳。另外,一旦我點擊「第一個」按鈕,其他一些用戶控件將在窗口中打開,而不是「菜單」一個,其行也會摺疊。只是提及它。
所以問題是,我應該怎麼做才能讓我的UserControl出現,就像他們在設計器中看起來一樣?
窗戶的高度是多少?如果增加窗戶會發生什麼? – mm8
可以在我發佈的代碼上看到高度,它在MainWindow上爲350,在程序啓動時由UserControl 90代替。如果我在代碼中調整它們,沒有什麼變化。它總是需要按鈕的高度(根據我猜它們的FontSize) – MaxB
如果調整窗口的大小,會發生什麼? – mm8