У меня есть шаблон эллиптической кнопки в моем словаре ресурсов "ButtonStyles.xaml". Это часть кода:
<SolidColorBrush x:Key="brush" Color="Red"/>
<Style TargetType="Button" x:Key="MyButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Target="ellipse.(Shape.Fill)" Value="{StaticResource ResourceKey=brush}">
</Setter>
<Setter Target="ellipse.(Shape.Stroke)" Value="{x:Null}"/>
</VisualState.Setters>
</VisualState>
[...]
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse x:Name="ellipse"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
А вот и кнопка на главной странице:
<Button x:Name="toggle" Content="" HorizontalAlignment="Left" Height="132" Margin="40,146,0,0" VerticalAlignment="Top" Width="132" Style="{StaticResource MyButtonStyle}"/>
Теперь я хотел бы изменить ресурс кисти из кода С#. Для этого я пробовал следующим образом:
Application.Current.Resources["brush"] = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 125, 126, 126));
В то время как ресурс кисти эффективно меняет цвет эллипса, это не так. Я думаю, что проблема в том, что я должен изменить цвет не в шаблоне, а в самой кнопке MainPage. Это проблема? Как я могу это сделать?