Свойство IsEnabled
у Button
я привязываю к свойству своего класса булевского типа IsChecked
. Но я хочу, чтобы кнопка была доступна для нажатия, когда свойство IsChecked = false
. Для этого я перед свойством IsChecked
добавляю знак отрицания. Кнопка становится доступной, так как начальное значение IsChecked = false
, при нажатии же это значение меняется на true
, но при этом кнопка все равно остается доступной для нажатия. В чем проблема? Почему свойство IsEnabled не меняется при изменении свойства IsChecked?
<Button
Command="{Binding Activate}"
Width="25"
Height="25"
IsEnabled="{Binding !IsChecked }"/>
Вы не можете использовать оператор !
в привязке. Вместо этого вам нужно определить конвертер значений или использовать триггер данных (DataTrigger
):
<Style x:Key="notEnabled" TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked}" Value="True">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked}" Value="False">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
и
<Button
Command="{Binding Activate}"
Style="{StaticResource notEnabled}" />
Задача - штамповать разные изображения на полотноВот только размер полотна заранее неизвестен
Как правильно протестировать Data access layer с помощью Mock, а именно репозитории, предоставляющие доступ к базе данных через контекст?