c# – WPF数据绑定:根据var的内容启用禁用控件?

c# – WPF数据绑定:根据var的内容启用禁用控件?,第1张

概述我的表单上有一个按钮,只有在树状视图(或tabitem中的列表视图)中选择项目时才应启用.当选择项目时,它的值存储在字符串成员变量中. 可以将按钮的IsEnabled属性绑定到成员var的内容吗?也就是说,如果成员var不为空,则启用该按钮. 类似地,当成员的内容变化(设置或清除)时,按钮的状态应该改变. 由于您可能希望基于字符串绑定按钮的IsEnabled属性,请尝试为其创建转换器. IE浏览器 我的表单上有一个按钮,只有在树状视图(或tabitem中的列表视图)中选择项目时才应启用.当选择项目时,它的值存储在字符串成员变量中.

可以将按钮的IsEnabled属性绑定到成员var的内容吗?也就是说,如果成员var不为空,则启用该按钮.

类似地,当成员的内容变化(设置或清除)时,按钮的状态应该改变.

解决方法 由于您可能希望基于字符串绑定按钮的IsEnabled属性,请尝试为其创建转换器.

IE浏览器…

<StackPanel><StackPanel.Resources><local:SomeStringConverter mystringtoboolconverter /></StackPanel.Resources><button IsEnabled="{Binding Elementname=mytree,Path=SelectedItem.header,Converter={StaticResource mystringtoboolconverter}}" /><StackPanel>

和转换器:

[ValueConversion(typeof(string),typeof(bool))]    class SomeStringConverter : IValueConverter {        public object Convert( object value,Type targettype,object parameter,CultureInfo culture ) {            string myheader = (string)value;            if(myhead == "something"){                return true;            } else {                return false;            }        }        public object ConvertBack( object value,CultureInfo culture ) {            return null;        }    }

编辑:
由于OP想要绑定到变量,所以需要这样做:

public class SomeClass : INotifyPropertyChanged {  private string _somestring;  public string SomeString{    get{return _somestring;}    set{ _somestring = value; OnPropertyChanged("SomeString");}  }  public event PropertyChangedEventHandler PropertyChanged;  protected voID OnPropertyChanged(string propertyname)        {            if (this.PropertyChanged != null)            {                this.PropertyChanged(this,new PropertyChangedEventArgs(propertyname));            }        }}

然后,将上述绑定表达式更改为:

{Binding Path=SomeString,Converter={StaticResource mystringtoboolconverter}}

注意,你必须实现INotifyPropertyChanged为你的UI更新.

总结

以上是内存溢出为你收集整理的c# – WPF数据绑定:根据var的内容启用/禁用控件?全部内容,希望文章能够帮你解决c# – WPF数据绑定:根据var的内容启用/禁用控件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1236591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存