Я не уверен, что это будет работать как есть, так как я не нахожусь перед IDE и пытаюсь кодировать из памяти, но если ничего другого, это послужит примером для MultiBinding.
В ваших ресурсах:
<local:AndNotConverter x:Key="AndNotConverter" />
<Style ...>
<Setter Property="IsEnabled">
<Setter.Value>
<MultiBinding Converter="{StaticResource AndNotConverter}">
<Binding ElementName="txtQuotationNo" Path="IsEnabled" />
<Binding ElementName="txtQuotationNo" Path="IsReadOnly" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style
В вашем коде:
public class AndNotConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
return (bool)values[0] && !((bool)values[1]);
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Редактировать:
Только что подтвержденокод, и он работает как ожидалось.