У меня есть UserControl, на котором есть кнопка. UserControl имеет свойство DependencyProperty с именем IsNew. Это значение bool, которое устанавливается в true, если редактируемый объект в элементе управления был недавно создан и еще не записан в базу данных. В противном случае это ложь.
У меня есть кнопка с надписью «Сохранить». Меня попросили изменить кнопку, чтобы она показала «Вставить», если строка новая. Теперь у меня есть XAML ниже для кнопки:
<Button Background="{DynamicResource ButtonBackground}"
Click="SaveButton_Click"
Content="Save"
FontSize="20"
FontWeight="Bold"
Foreground="{DynamicResource ButtonForeground}"
Height="60"
IsEnabled="{Binding Path=IsDirty, RelativeSource={RelativeSource AncestorType={x:Type cs:Editor}}}"
Margin="5"
Name="SaveButton"
TabIndex="7"
Visibility="{Binding Path=CanModify, Converter={StaticResource BoolToVisibility}}">
<Button.Triggers>
<Trigger Property="Editor.IsNew" Value="True">
<Setter Property="Button.Content" Value="Insert" />
</Trigger>
<Trigger Property="Editor.IsNew>
<Setter Property="Button.Content" Value="Save" />
</Trigger>
</Button.Triggers>
</Button>
Я получаю исключение во время выполнения, внутреннее исключение которого гласит:
Triggers collection members must be of type EventTrigger.
Как мне заставить это работать? Я мог бы легко сделать это в коде, но я хочу сделать это в XAML.
Спасибо
Tony