wpf中根据其他控件或者对象的属性动态控制某一控件的IsEnabled属性
程序员文章站
2022-03-07 11:06:42
...
今天在写代码的时候,想通过几个不同控件和属性来自动更新某一MenuItem的IsEnabled的值,刚开始使用的是DataTrigger来实现,但是无论怎么写都无法实现,最后悉心研究(思考人生)了4个小时,终于实现。
直接使用多绑定和多值转换器来绑定到IsEnabled属性上,废话不多说,Show my Code:
//先在Window.Resources中加入转换器实体
<Window.Resources>
<convert:UserStatusConverter x:Key="userStatus"/>
</Window.Resources>
在xaml或者后台代码中使用多绑定,绑定到某控件的IsEnabled属性上;
代码略。。。请自行百度。
//最后实现一个多值转换器
using System.Windows.Data
namespace xxx
{
class UserStatusConvert: IMultiValueConverters
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if(xx=true)
return ture;
return false;
}
public object[] ConvertBack(object values,Type[] targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
}