【发布时间】:2014-07-03 17:34:06
【问题描述】:
我有一个Button,我希望该按钮仅在Condition A == true 和Condition B == true 时可见。
现在,我的viewModel 已经有两个返回类型为boolean 的属性了。
那么用XAML Binding可以实现吗?
【问题讨论】:
我有一个Button,我希望该按钮仅在Condition A == true 和Condition B == true 时可见。
现在,我的viewModel 已经有两个返回类型为boolean 的属性了。
那么用XAML Binding可以实现吗?
【问题讨论】:
如果您希望您的按钮根据两个属性可见,那么在这种情况下,您最好在 Viewmodel 中创建一个 Visibility 属性并将该属性绑定到 Button Visibility Property in Xaml.
例如:-
在 Viewmodel 中创建 Visibility 属性 -
private Visibility _visBtn = Visibility.Collapsed;
public Visibility VisBtn
{
get { return _visBtn ; }
set
{
_visBtn = value;
RaisePropertyChanged("VisBtn "); // INotifyPropertyChanged Implemented
}
}
您必须根据您的逻辑设置此属性。喜欢:-
If(Condition A == true && Condition B == true)
VisBtn = Visibility.Visible;
现在将这个属性绑定到 Xaml 中的按钮 -
<Button Content="My Button" Visibility="{Binding VisBtn }" />
注意 :- 确保您已在 Viewmodel 中实现 INotifyPropertyChanged,并且您的 Xaml 页面 DataContext 设置为对应的 Viewmodel 正确。
第二种情况 :- 如果您想在单个 bool 属性的基础上设置按钮 Visibility,那么您可以实现 BooleanToVisibility 将此转换器映射 Boolean 属性转换为 Visibility 类型。
【讨论】: