Hacky Button禁用

时间:2012-06-22 13:21:20

标签: c# wpf xaml

所以我有一个允许用户选择三个按钮之一的应用程序。我不希望按钮在单击后可以按下,但我也不希望按钮看起来很丑陋isenabled=false。据我所知,没有办法禁用isenabled=false上的外观变化,所以我想我会在它上面放置一个透明控件来防止用户点击它。我的问题是,我应该使用什么控制?正在尝试Label但却无法填充网格单元格。像Canvas这样的东西是可行的,还是点击式的?

谢谢!

2 个答案:

答案 0 :(得分:1)

如果要阻止单击按钮,请使用IsHitTestVisible,将其绑定到一个(通知)属性。它会做你想做的事情:如果IsHitTestVisible为假,鼠标clics不会影响它,它看起来会一样。

答案 1 :(得分:0)

使用ToggleButton并处理Unchecked事件。 像这样:

private void MyToggleButton_Unchecked(object sender, RoutedEventArgs e) {
            MyToggleButton.IsChecked = true;
        }

这样,一旦检查一次,用户将无法取消选中它。