我的情况如下。
我有一个 App.xaml,其中包含 ListView 的样式,如下所示:
<Style x:Key="{x:Type ListViewItem}" TargetType="ListViewItem">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
...
然而,我想在另一个XAML中添加一些样式,比如在Window.xaml中像这样:
<ListView AlternationCount="2" Background="#FFECECEC">
<ListView.Resources>
<Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}">
<EventSetter Event="PreviewMouseDoubleClick" Handler="OnPreviewMouseDoubleClick" />
</Style>
</ListView.Resources>
</ListView>
所以,我想做的是在App.xaml中定义基础设计的样式作为默认样式。然后,进行一些修改,例如添加上下文菜单,从每个xaml添加事件。
但是,使用以上实现方式,App.xaml中定义的样式将被Window.xaml中定义的样式覆盖。
有没有什么方法可以解决这个问题并实现它?