我需要做的是将不同的数据模板和样式定义到 Windows Phone 类库中的资源字典中,并在该库中使用它们。到目前为止我已经尝试了很多方法但没有成功。有人以前这样做过吗?
到目前为止我尝试过的:
将样式放在主题 > generic.xaml 下,并尝试通过
Resources["StyleName"] as Style
在代码中使用它。资源为空,因此样式未正确加载。 .xaml 的构建操作已设置为资源。将 RecourceDictionary.xaml 文件放入类库根文件夹中,并尝试通过
Resources["StyleName"] as Style
在代码中使用它。资源为空,因此样式未正确加载。 .xaml 的构建操作已设置为资源。尝试创建 Style xaml IN-CODE,尽管这不是最佳方案,并且在解析 xaml 时仍然会出现错误 - 无论如何我都不想想要使用此解决方案。
我在这里做错了什么?为什么代码中的资源表总是空?如何正确设置其Resources.Source
?到目前为止,我尝试的所有操作都抛出了异常。
谢谢。
最佳答案
好的。因为我在这上面浪费了很多时间,所以我将发布我最终如何解决它的方法。
所以我所拥有的是以下内容:
- Windows Phone 类库。
- /Themes 文件夹下的资源字典,构建操作设置为资源,自定义工具下没有任何内容。注意:RD 位于同一个项目中 - 在类库内
- 资源字典称为 test.xaml,其中有一个具有多种样式的转换器。
现在为了能够在我的代码中使用 aStyle = (Style)Resources["StyleName"];
我必须将其加载到类库构造函数中,如下所示:
Resources.Source = new Uri("/CLASS_LIB_NAME;component/Themes/test.xaml", UriKind.Relative);
这是我在不出现任何异常的情况下完成这项工作的唯一方法。
当然,有人可以用 MergedDictionaries
替换 Resources.Source
来加载更多 .xaml 样式文件。我只需要为此控件加载一个。
关于c# - Windows Phone 类库中的 RecourceDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21911513/