所以我有一个看起来像这样的StackPanel帽子。
<StackPanel Width="100"
Height="100"
Background="#212121"
x:Name="Box"
ZIndex="1" Margin="-48,168,146,151">
<StackPanel.Style>
<Style TargetType="StackPanel">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=theMenuButton}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource slideRight}" />
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource slideLeft}" />
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<StackPanel.RenderTransform>
<TranslateTransform />
</StackPanel.RenderTransform>
</StackPanel>
如您所见,它非常混乱,我将其最小化。 有什么办法可以像ResourceDirectory那样创建并引用该样式以最大程度地减少混乱?
为清楚起见,我想将<StackPanel.Style...
移动到一个单独的文件中,并使用该文件引用StackPanel的样式
答案 0 :(得分:2)
是的,您可以这样做。
您完全按照您所说的做,将Style
标记移到资源字典中(在此过程中为其赋予x:Key
)。然后,您必须将该词典合并到可视树中,以便此StackPanel
可以访问它:
<!-- Use whatever parent of the stack panel. "Window" is an example -->
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="relativePathToYourDictionary"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
然后您只引用样式:
<StackPanel Style="{StaticResource YourStyleKey}"/>
答案 1 :(得分:1)
在应用程序中重用样式的步骤。
App.xaml
。Key
文件中。您可以将key
分配给资源。
-如果分配了{{1}},那么您在控制权上已经明确提到要使用该资源
-未定义键,样式将自动应用于整个应用程序中已定义类型的所有控件