WPF自定义列中按钮的IsEnabled属性根据列中的值的不同动态赋值

1.创建转换类,0为已读,让“阅”按钮不可用,即返回False

public class ReadOrNoReadConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int readStatus = value.ToString();
if (readStatus==0)
{
return false;
}
else
{
return true;
}
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string strValue = value.ToString();
//DateTime resultDateTime;
//if (DateTime.TryParse(strValue, out resultDateTime))
//{
// return resultDateTime;
//}
return value;
}
}


2.WPF中在模板列写如下代码,IsEnabled的属性值是根据readStatus字段经过ReadOrNoReadConverter转换器的转换生成的,所以到底生成true还是false要在转换器类中定义逻辑规则










3.最后引入命名空间

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dataPrimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=PresentationFramework"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
xmlns:VM="clr-namespace:BankLogix.ForexStar.WinFXManager.Components.wpf.Converter"

声明转换器




你可能感兴趣的:(WPF)