下面是IMultiValueConverter
我有:
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
int loggedId = (int)values[0];
int createdId = (int)values[1];
DateTime time = (DateTime)values[2];
TimeSpan span = DateTime.Now.Subtract(time);
if (loggedId == createdId && span.TotalHours <12)
return (bool)true;
return (bool)false;
}
基于它,我想设置IsReadOnly
一个文本框的属性。但是它不起作用,它总是设置为true。
<TextBox.IsReadOnly>
<MultiBinding Converter="{StaticResource LoggedUserEnabledStyle}">
<Binding Path="LoggedUser.ID" />
<Binding Path="HandOverFormList/CreatorID" />
<Binding Path="HandOverFormList/TimeOfCreation" />
</MultiBinding>
</TextBox.IsReadOnly>
转换器返回正确的值,就像我更改IsReadOnly
为一样IsEnabled
,它工作正常。虽然,我根据值使用另一个转换为颜色代码背景,所以IsEnabled
不是最佳选择。