WPFウィンドウの.csファイルからスタイルプロパティ(および値)を設定できるようにしたい。
私の問題は、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));
}
これによりスタイルは更新されますが、長方形は更新されません。
これは可能ですか?誰かがこれを行う方法を知っていますか?(例をいただければ幸いです)。