我在制作Winform应用程序方面有一些经验,但在WPF方面没有。
我的问题是关于WPF中的面板。
在Winform中,我说有两个面板:PanelA和PanelB。我可以将PanelB设置为PanelA,将PanelB设置为visible,将PanelA设置为隐藏。通过这样做,PanelA上的所有控件都被禁用,这意味着控件对用户不可见,并且无法通过点击TAB来选择。
然而,在WPF中,我找不到相同的控件来实现相同的效果。我尝试过Rectangle,但如果用户点击TAB,仍然可以选择Rectangle下面的控件。
我想要的东西不仅可以直观地阻止控件(按钮等),还会阻止用户通过点击TAB来选择它们。
我知道有一种方法可以通过在WPF中将IsEnabled属性设置为false来禁用控件。但是有更简单的方法吗?像Winform中的Panel控件一样?
答案 0 :(得分:0)
我不知道是否比将整个Panel的IsEnabled属性设置为false更容易,但是在WPF中添加到Grid的第二个元素最终会在第一个元素之上。因此,如果要隐藏并有效禁用Rectangle,可以将其添加到Grid,然后将另一个元素添加到同一Grid中,例如:
<Grid>
<Rectangle Width="100" Height="100" Fill="Green" />
<!-- This child Grid that contains a Button element will effectively hide the above Rectange -->
<Grid>
<Button Content="On top..." />
</Grid>
</Grid>