Я хочу иметь возможность устанавливать свойства стиля (и значения )из файла.cs в моем окне WPF.
Моя проблема заключается в том, что у меня есть 30 прямоугольников, все из которых я хочу иметь одинаковый стиль (, и я не хочу обновлять их все по отдельности ). Я бы хотел, чтобы все они (в файле xaml )были настроены на один и тот же стиль, а затем обновили стиль, чтобы он выглядел так, как мне хотелось бы.
Скажем, я установил Style = "key1"
в Xaml для каждого прямоугольника. Затем я хочу иметь возможность изменить «key1» позже, чтобы все прямоугольники отражали это изменение.
Я пробовал вApp.xaml
<Application.Resources>
<Style x:Key="key1" TargetType="Rectangle">
<Setter Property="Fill" Value="Red"/>
</Style>
</Application.Resources>
В MainwWindows.xaml
<StackPanel>
<Rectangle Style="{StaticResource key1}" Height="200" Width="200" x:Name="rect1"/>
<Button Click="Button_Click" Content="Click"/>
</StackPanel>
В коде позади
private void Button_Click(object sender, RoutedEventArgs e)
{
Style style = Application.Current.Resources["key1"] as Style;
style.Setters.Add(new Setter(Rectangle.VisibilityProperty, Visibility.Collapsed));
}
Это обновляет стиль, но не обновляет прямоугольники.
Возможно ли это? Кто-нибудь знает как это сделать? (Буду очень признателен за пример ).