[英]WPF window with 2 grid and using rectangle
我尝试执行以下操作:我有一个带有2个网格的WPF窗口。 外部网格是我的登录网格,内部网格是我的组合框。 我在程序检查以下人员是否为管理员时编写了代码。 如果不是,则只需打开一个新窗口,如果是admin,则会出现一个组合框,您可以在组合框值之间进行选择,因此程序会在您选择的公共窗口中删除该窗口。
<Grid Name="Grid1">
---Textboxes and Buttons for my Login---
<Grid Name="Grid2" Visibility="Hidden">
<Canvas Name="CanvaS" Width="200" Height="90">
<ComboBox Width="180" Height="30" Name="CBBox">
<ComboBoxItem Name="Item1">Item1 Instruction
</ComboBoxItem>
<ComboBoxItem Name="Item2">Item2 Instruction
</ComboBoxItem>
<Button Name="Window" Click="Window_Click"/>
</Canvas Width="200" Height="90">
</Grid>
</Grid>
因此,我需要执行以下操作:如果我已经登录并且用户是管理员,并且已经被检查,则我的主网格消失(使用矩形对其进行尝试,但对我不起作用),或者所有按钮均被禁用,并且Canvas弹出,它位于Grid 2中。唯一的问题是,如果将Grid1设置为Hidden,则整个窗口都设置为隐藏,即使是Grid2,如果将Grid 1设置为IsEnabled =“ False”,也不能单击Grid 2。 那么我该如何解决呢? 还是在代码中以什么不透明度使用矩形? 其他所有内容都在我的代码上工作,我只能解决这个问题,这就是为什么我只显示代码的这一部分。
您必须将Grid2
从Grid1
Grid2
,因为您无法在禁用的parent
启用child control
首先,您提供的代码中存在一些问题,我认为该代码对您不起作用,因为缺少/没有合适的结束标记。
问题是您已将Grid2作为子级添加到grid1中。 因此,对Grid1执行的所有操作将自动影响Grid2。 您将需要从Grid1中取出Grid2。
见下文。
<Grid Name="MainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Name="Grid1" Grid.Row="0">
</Grid>
<Grid Name="Grid2" Visibility="Hidden" Grid.Row="1">
<Canvas Name="CanvaS" Width="200" Height="90">
<ComboBox Width="180" Height="30" Name="CBBox">
<ComboBoxItem Name="Item1">Item1 Instruction
</ComboBoxItem>
<ComboBoxItem Name="Item2">Item2 Instruction
</ComboBoxItem>
<Button Name="Window" Click="Window_Click"/>
</ComboBox>
</Canvas>
</Grid>
</Grid>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.