Я хотел бы динамически изменить цвет фона ToggleButton
в зависимости от его состояния. Вот мой код XAML:
<ToggleButton
Width="286"
Height="50"
x:Name="HistoryToggle"
IsChecked="{Binding HistoryMode, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
IsEnabled="True">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid
x:Name="outerGrid">
<Border
x:Name="HistoryToggleBorder"
BorderThickness="0"
CornerRadius="4"
Background="#1E3555">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="20"
FontWeight="Regular"
Foreground="White"
Text="MyToggle" />
</Border>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger
RoutedEvent="ToggleButton.Checked">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="HistoryToggleBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
From="#1E3555"
To="#009ABE"
Duration="0:0:0.15"
FillBehavior="HoldEnd"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger
RoutedEvent="ToggleButton.Unchecked">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="HistoryToggleBorder"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
From="#009ABE"
To="#1E3555"
Duration="0:0:0.15"
FillBehavior="HoldEnd"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ToggleButton.Style>
</ToggleButton>
Когда приложение пытается открыть окно, содержащее мое ToggleButton
, выдается исключение:
System.InvalidOperationException: «Имя„ HistoryToggleBorder »не можетнаходится в пространстве имен «System.Windows.Controls.ControlTemplate». '
, и приложение вылетает. Что я делаю не так?