C# 隐藏某些控件时最大化wpf窗口
我想在我的程序中最大化一个wpf窗口,当我点击一个按钮时,我已经写了这段代码,但它没有最大化C# 隐藏某些控件时最大化wpf窗口,c#,wpf,C#,Wpf,我想在我的程序中最大化一个wpf窗口,当我点击一个按钮时,我已经写了这段代码,但它没有最大化 private void ShowHideMotorsButtonClick(object sender, RoutedEventArgs e) { Motor1WFH.Visibility = Visibility.Hidden; Motor2WFH.Visibility = Visibility.Hidden;
private void ShowHideMotorsButtonClick(object sender, RoutedEventArgs e)
{
Motor1WFH.Visibility = Visibility.Hidden;
Motor2WFH.Visibility = Visibility.Hidden;
MainTabControl.Margin = new Thickness(12, 12, 165, 12);
this.WindowState = System.Windows.WindowState.Maximized;
}
xaml代码:
<Grid >
<WindowsFormsHost Height="200" HorizontalAlignment="Right" Margin="0,43,12,0" VerticalAlignment="Top" Width="300" Name="Motor1WFH">
<apt:MG17Motor x:Name="Motor1" />
</WindowsFormsHost>
<WindowsFormsHost Height="200" HorizontalAlignment="Right" Margin="0,249,11,0" VerticalAlignment="Top" Width="300" Name="Motor2WFH">
<apt:MG17Motor x:Name="Motor2" />
</WindowsFormsHost>
<TabControl Margin="12,12,318,12" Name="MainTabControl">
...
当我没有为MainTabControl设置边距时
我如何最大限度地利用它,以及哪里出了问题
(正如您在我的第一张图片窗口中看到的,当我单击左按钮角将其最大化并隐藏一些控件时,它并没有完全最大化。)
下面是一个简单的示例,可以使用,将左侧控件放置在它们自己的网格中。首先是xaml:
<Grid Name="MainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<TabControl>
<TabItem Header="+"/>
<TabItem Header="-"/>
<TabItem Header="Other"/>
</TabControl>
</Grid>
<Grid Grid.Column="1">
<TabControl>
<TabItem Header="Option 1"/>
<TabItem Header="Option 2"/>
<TabItem Header="Option 3"/>
</TabControl>
<Button Background="Black" Width="30" Height="20"
HorizontalAlignment="Right" VerticalAlignment="Top" Click="OnExpBtnClick"/>
</Grid>
</Grid>
其中,以下是类范围
private bool _exp;
private GridLength _origWidth;
我不知道你在说什么。发布一个屏幕截图,说明你得到了什么和你需要什么。@abdolah我不想变得太麻烦,但理想的情况是,你最终应该将
private GridLength\u origWidth
更改为依赖项道具(或至少是属性)等。
private void OnExpBtnClick(object sender, RoutedEventArgs e)
{
if (_exp)
{
_exp = false;
MainGrid.ColumnDefinitions[0].Width = _origWidth;
}
else
{
_exp = true;
_origWidth = MainGrid.ColumnDefinitions[0].Width;
MainGrid.ColumnDefinitions[0].Width = new GridLength(0.0, GridUnitType.Pixel);
}
}
private bool _exp;
private GridLength _origWidth;