我正在尝试覆盖Windows应用商店应用中ListViewItemPresenter的padding属性。 当我复制完整的通用ListView样式,更改填充并将该样式作为ItemContainerStyle应用于我的ListView时,一切正常。
现在我需要为另一个ListView执行此操作。如何只重写ListViewItemPresenter ControlTemplate的一个属性而不再重复整个样式?
答案 0 :(得分:0)
我找到的最佳解决方案来自以下链接。我复制粘贴下面的答案。
我们的想法是将完整的Windows 10样式复制到您的字典中并为其提供密钥。您不需要修改样式,只需复制一次即可。 (虽然理想情况下你应该不得不这么做。)因为它现在有一把钥匙,你可以创造另一种风格" BasedOn"那把钥匙并修改它。
首先,在App.xaml级别资源字典中为控件创建默认样式,但是给它一个x:Key
<Style x:Key="ButtonDefaultStyle" TargetType="Button">
...
</Style>
然后,创建另一种继承此样式的样式。
<Style x:Key="MyButtonStyle" TargetType="Button" BasedOn="{StaticResource ButtonDefaultStyle}" />
</Style>
可以在此处找到默认样式 [https://msdn.microsoft.com/en-us/library/windows/apps/mt299122.aspx] 或者在您的计算机上的某个位置 C:\ Program Files(x86)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP \ 10.0.10586.0 \ Generic \ generic.xaml