Can I dynamically switch between styles in WPF?

Let's say I wanted to display Button and a few RadioButtons . Based on which RadioButton selected, I want to apply a different style to my Button . Is this possible in WPF?

+1
source share
2 answers

@ Brandon's answer would work, but I think this is a little more elegant:

 <ComboBox Name="AvailableStyles"> <ComboBoxItem Tag="{x:Null}" IsSelected="True">None</ComboBoxItem> <ComboBoxItem Tag="{StaticResource FirstStyle}" Style="{StaticResource FirstStyle}">Style 1</ComboBoxItem> <ComboBoxItem Tag="{StaticResource SecondStyle}" Style="{StaticResource SecondStyle}">Style 2</ComboBoxItem> <ComboBoxItem Tag="{StaticResource ThirdStyle}" Style="{StaticResource ThirdStyle}">Style 3</ComboBoxItem> </ComboBox> <Button Style="{Binding ElementName=AvailableStyles, Path=SelectedItem.Tag}" Content="Dynamically Styled Button" /> 
+10
source

You can simply set the style in the code.

  button.Style = (Style)FindResource("NameOfYourStyle"); 
+7
source

All Articles