Windows Phone 8.1 XAML -重写资源字典条目
本文关键字:资源 字典 重写 Phone XAML Windows | 更新日期: 2023-09-27 17:50:39
我正在使用一个库(https://qkit.codeplex.com/)来实现我的应用程序上的JumpList,我希望覆盖其默认的组头元素的边距。此边距在库代码中定义为资源字典中的资源:
<Thickness x:Key="JumpListHeaderItemMargin">19,0,0,9.5</Thickness>
我如何重写这个键的值?我已经尝试将其直接设置在我的应用程序库的JumpList元素下的资源字典中,但它不起作用:
<q:AlphaJumpList Name="lineJumpList">
<q:AlphaJumpList.Resources>
<Thickness x:Key="JumpListHeaderItemMargin">0,0,0,9.5</Thickness>
</q:AlphaJumpList.Resources>
...
</q:AlphaJumpList>
简短的回答——你不能。
控件的作者决定这些值不是他们的公共API的一部分。如果他们愿意,他们可以在他们的控件上公开一个DependencyProperty,你可以从外部修改它。
最简单的解决方法-克隆组件的源代码,将QKit项目添加到您的解决方案中,并更改QKit'Themes'generic。
如果你不想这样做,你可以复制generic。Xaml转换为qkit。在你的项目中,然后改变JumpListHeaderItemMargin值,但你喜欢,然后合并qkit。将Xaml放入app.xaml或使用该控件的页面上的资源中。这种方式是通用的。DLL中的xaml将不会被使用,因为控件的本地定义样式将覆盖DLL中的generic.xaml.