Ниже 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
не лучший выбор.