可以将按钮的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的内容启用/禁用控件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)