运行程序后,它会在我的MainWindow中打开一个UserControl。 UserControl是一个由3个按钮组成的菜单。 UserControl的图片: Menu
主窗口背后的代码:
<Window
...
Title="MainWindow" Height="350" Width="525" SizeToContent="WidthAndHeight" >
<Window.DataContext>
<ViewModels:MainWindowViewModel />
</Window.DataContext>
<ContentControl Content="{Binding CurrentViewModel}"/> //Inserts a UserControl
Menu 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>
问题: 菜单打开后,空行(没有按钮,第一个和第三个)会折叠(或高度为0?),如图所示:Running program 我可以通过为每行设置MinHeight来克服它,但它仅适用于像素。我希望他们能够使用星星的方法(&#34; *&#34;)。我想我可以从背后的代码设置自己的身高(使用星星),但只是想到它让我觉得我用左手摩擦我的右耳。
此外,一旦我点击&#34; First&#34;按钮,在窗口中打开一些其他UserControl,而不是&#34;菜单&#34;一,它的行也崩溃了。只是提到它。
所以问题是,我应该怎样做才能使我的UserControl看起来像设计师一样?
答案 0 :(得分:0)
您应该从窗口XAML中删除SizeToContent="WidthAndHeight"
。
这会导致窗口的高度缩小到适合UserControl
的大小(实际上是中间Button
的高度)。