我有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
发布于 2012-10-20 05:59:40
在WinRT中没有“其他类/程序集内的Xaml文件”这回事。换句话说:"EmbeddedResource“或"Resource”根本不存在于WinRT组件中(是的,这是一件痛苦的事情)。这也是将\Themes\Generic.xaml复制到输出目录中的原因)。
发布于 2012-10-20 02:55:13
请参阅答案here on msdn
如果您有一个名为"CustomControl“的dll和一个名为"Styles.xaml”的ResourceDictionary,则App.xaml应包含
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///CustomControls/Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>发布于 2012-10-20 06:02:07
如果将ResourceDictionary 源设置为作为UserControl的XAML,则可以重现相同的行为。但是,如果引用的XAML文件是专用的ResourceDictionary,则可以按照ms-appx:///PROJECT_NAME/PATH_TO_XAML.xaml模式使用ms-appx:/方案访问内部样式。
如果是这样的话,有没有可能将ResourceDictionary从UserControl中分离出来?
https://stackoverflow.com/questions/12980317
复制相似问题