C # WPF Изменить ресурс цвета кнопки на время выполнения - PullRequest
0 голосов
/ 22 мая 2018

У меня есть кнопка, для которой я хочу использовать динамический цвет, если файл существует.

Я использую два ресурса для этого, один ресурс - цвет, а другой - SolidColorBrush.Они объявлены как

<Window.Resources>
<Color x:Key="ColorName">Red</Color>
<SolidColorBrush x:Key="ButtonColor1" Color="{StaticResource ColorName}" />
</Window.Resources>

Теперь моя кнопка выполнена странным образом, так как я хотел изменить цвет подсветки, это сделано так:

Button Grid.Row="1" Grid.Column="2" Height="25" Width="25" 
HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click" 
Name="SalutButton">
            <Button.Style>
                <Style TargetType="{x:Type Button}">
                    <Setter Property="Background" Value="{StaticResource 
ButtonColor1}"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type Button}">
                                <Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1">
                                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" Value="LightGreen"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>

Мой код, чтобы попробоватьи изменить ресурс:

Resources["ColorName"] = System.Windows.Media.Colors.Green;

Это успешно изменяет имя цвета ресурса, но ресурс buttoncolor1 уже создан во время инициализации и принимает цвет по умолчанию colorname, который является красным, так что, хотя я меняю ресурс, егоне обновляется.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...