在WPF中隐藏按钮
我想在Windows窗体中使用的WPF中隐藏一个按钮,例如,在WPF中隐藏按钮,wpf,Wpf,我想在Windows窗体中使用的WPF中隐藏一个按钮,例如,button.visible=false WPF中是否有与此等效的文件 Visibility=Hidden您应该设置 button.visibility=System.Windows.visibility.Hidden 或 button.visibility=System.Windows.visibility.Collapsed 或者通过使用WPF XAML属性设置相同…尝试以下方法之一: button.Visibility = Vis
button.visible=false
WPF中是否有与此等效的文件
Visibility=Hidden
您应该设置
button.visibility=System.Windows.visibility.Hidden
或
button.visibility=System.Windows.visibility.Collapsed
或者通过使用WPF XAML属性设置相同…尝试以下方法之一:
button.Visibility = Visibility.Hidden;
button.Visibility = Visibility.Collapsed;
Hidden
隐藏按钮,但按钮仍会占用UI中的空间<代码>折叠将折叠按钮,使其宽度和高度为零。如果使用MVVM设计模式,可以利用绑定到按钮的命令的“CanExecute”状态来实现此目的
按钮的默认行为将显示为禁用,但您可以使用下面的示例更改它,使其不可见
视图模型 命令属性的属性:
public DelegateCommand<TypeOfBoundItem> TheCommand
{
get; private set;
}
查看 在UserControl或Window的资源中,您定义了一些Visibility转换器:
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
对于按钮,您可以定义一个绑定设置,将按钮的“可见性”属性绑定到按钮“IsEnabled”状态的值,并应用转换器 因此,如果“IsEnabled”状态为true-因为绑定的“TheCommand”在其“CanExecute”方法中返回true-按钮将可见
<Button Command="{Binding TheCommand}"
CommandParameter="{Binding}"
Visibility="{Binding RelativeSource={RelativeSource Self},
Path=IsEnabled,
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource BooleanToVisibilityConverter}}">
</Button>
如果绑定命令的“CanExecute”方法返回false,则按钮将不可见
<Button Command="{Binding TheCommand}"
CommandParameter="{Binding}"
Visibility="{Binding RelativeSource={RelativeSource Self},
Path=IsEnabled,
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource BooleanToVisibilityConverter}}">
</Button>
请注意,如果使用数据绑定,则需要编写将bool转换为可见性值的ValueConverter。请注意,如果使用数据绑定,则需要编写将bool转换为可见性值的ValueConverter。此类转换器已经存在。要取消隐藏它,请使用button.Visibility=Visibility.Visibility
@Jakob,我在button click事件中使用了您的代码,但当我单击按钮时,它就变成了代码(我在那里放置了断点)。而且回来以后也没有什么变化。简言之,通过提供这样的可视性,在返回设计后没有任何更改。。。
<Button Command="{Binding TheCommand}"
CommandParameter="{Binding}"
Visibility="{Binding RelativeSource={RelativeSource Self},
Path=IsEnabled,
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource BooleanToVisibilityConverter}}">
</Button>