3

我有 2 个项目的解决方案。第一个是主要应用程序,第二个是其中的控件。在 Generic.xaml 中,在 Silverlight 项目中,可以这样做

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/MyLibNamespace;component/Themes/SomeFolder/MyControl.xaml" />
</ResourceDictionary.MergedDictionaries>

这似乎不适用于 Windows 应用商店应用程序类库。ReSharper 希望文件路径为“/Themes/SomeFolder/MyControl.xaml”,但我仍然收到 XamlParseException:无法分配给属性“Windows.UI.Xaml.ResourceDictionary.Source”。[行:7 位置:36]

4

3 回答 3

3

WinRT 中没有“其他类/程序集中的 Xaml 文件”之类的东西。换句话说:“EmbeddedResource”或“Resource”根本不存在于 WinRT 组件中(是的,这很痛苦)。这也是将 \Themes\Generic.xaml 复制到输出目录的原因)。

于 2012-10-19T21:59:40.347 回答
1

在 msdn 上查看答案

如果您有一个名为“CustomControl”的 dll 和一个名为“Styles.xaml”的 ResourceDictionary,则 App.xaml 应包含

  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ms-appx:///CustomControls/Styles.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
于 2012-10-19T18:55:12.743 回答
0

如果ResourceDictionary Source设置为 XAML(即UserControl. 但是,如果引用的 XAML 文件是专用的,则使用ms-appx:///ResourceDictionary方案访问内部样式没有问题,遵循ms-appx:///PROJECT_NAME/PATH_TO_XAML.xaml模式。

如果是这样的话,是否有可能ResourceDictionary将其与 分开UserControl

于 2012-10-19T22:02:07.173 回答