KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I declared a style that I want to apply to ALL the buttons in the project, the style resides in the ResourceDictionary: <Style TargetType="StackPanel"> <Setter Property="Orientation" Value="Horizontal" /> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> Now, in some window, I want to inherit from this style but add a value: <Style TargetType="StackPanel"> <Setter Property="Margin" Value="5"/> </Style> The problem is that it doesn't inherit from the global style, in order to inherit I have to assign a key to the global style: <Style TargetType="StackPanel" x:Key="StackPanelStyle" /> And then in the window's XAML inherit (or/and override - optional) it: <Style TargetType="StackPanel" BasedOn="StackPanelStyle" /> The problem is that if you assign a key, it's not global and you have to call it on each window/scope. A solution to my question should be one of the two (is there anything else I am missing out?): Have a global style with a key, that is automatically applied to all its targeted controls in the entire application. A way to refer to the ResourceDictionary-level unnamed style without and override it. I thought about redeclaring the styles near the named styles (in the ResourceDictionary) which actually works: <!--In the ResourceDictionary--> <Style x:Key="StackPanelStyle" TargetType="StackPanel"> <Setter Property="Orientation" Value="Horizontal" /> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> <!--In the app.xaml--> <Style TargetType="StackPanel" BasedOn="{StaticResource Stack
Tags (comma-separated)
Save Edits
Cancel