Csharp/C#教程:如何在Visibility属性上执行简单的XAML(WPF)条件绑定分享


如何在Visibility属性上执行简单的XAML(WPF)条件绑定

我有一个带有属性的视图模型:

public class MyModel { public bool IsEnabled {get;set;} } 

我想使用此属性来切换按钮状态。 如果布尔值为true,我想隐藏按钮,否则显示它。

我尝试过这样的事情:

  

但这不合适。

我尝试了一些更复杂的解决方案,但我的猜测是,我错过了一些微不足道的东西。

有什么建议?

由于您希望在HiddenVisible之间切换并隐藏true,您可以编写自定义IValueConverter或使用简单的Style.Trigger

  

这是假设相应地设置DataContext并且每当更改时MyModel.IsEnabled引发INotifyPropertyChanged.PropertyChanged事件

 public class MyModel : INotifyPropertyChanged { private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { _isEnabled = value; OnPropertyChanged("IsEnabled"); } } #region INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { var handler = PropertyChanged; if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); } #endregion } 

使用BooleanToVisibilityConverter:

     

添加inheritanceIValueConverter的类

上述就是C#学习教程:如何在Visibility属性上执行简单的XAML(WPF)条件绑定分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public class BooleanToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { bool bValue = (bool)value; if (bValue) return Visibility.Visible; else return Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Visibility visibility = (Visibility)value; if (visibility == Visibility.Visible) return true; else return false; } #endregion } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/942681.html

(0)
上一篇 2021年11月13日
下一篇 2021年11月13日

精彩推荐