覆盖Windows Phone 8中的样式

时间:2014-01-04 01:30:29

标签: windows-phone-8

我有一个dll,我们的客户集成了提供UserControls,我想允许样式覆盖。在Windows应用商店中,我可以这样做:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="ms-appx:///MyDLL/Assets/Styles/Default.xaml"/>
    <ResourceDictionary Source="ms-appx:///OverrideStyles.xaml"/>
  </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

并找到用户应用中定义的本地AppboyStyles.xaml。我无法弄清楚Windows Phone 8的正确URI以允许类似的功能。

编辑:

假设我在A.dll中有UserControl1,而UserControl1有一个样式资源字典,如下所示:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/A;component/Assets/Styles/Default.xaml"/>
    <ResourceDictionary Source="/TestApp;component/Assets/Styles/Override.xaml"/>
  </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

这实际上可以在TestApp中运行,但我无法对一个调用应用程序进行硬编码,因为它是一个要分发的库。所以我需要一种方法来替换调用app dll名称,或者使用一个评估当前应用程序资源的URI。

0 个答案:

没有答案