我使用默认模板创建了自定义内容控件。 虽然该模板不在“Themes \ Generic.xaml”位置,但它应该是。相反,我将它放在一个具有不同名称的单独资源字典中。 它与App.xaml资源字典中的其他资源字典一起合并。
运行代码没有产生错误,控件可见。我在其他机器上测试了应用程序并且代码运行得很好,我想指出这些机器是开发机器。
在客户端计算机上测试应用程序(非开发)然后发现了一些奇怪的行为。自定义控件不可见;它只能在1台3台客户机上看到。
我能够通过将模板放在“Themes \ Generic.xaml”中来解决问题。
我的问题是如何在不必将模板放入“Themes \ Generic.xaml”的情况下工作?我在谷歌搜索过,但我可以找到任何明确的解释。
谢谢
答案 0 :(得分:0)
对于要应用的模板,它们需要存在于Themes \ Generic.xaml中。 好消息是你可以在这里合并它们,我认为这是一种很好的做法,并使你的代码更清晰。通常我的generic.xaml只包含这个,一个X.Generic.xaml用于你的所有cust。控件。
主题/ Generic.xaml:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
...>
<!-- Your custom controls split into separate files -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/YourNamespace;component/Themes/ControlA.Generic.xaml" />
<ResourceDictionary Source="/YourNamespace;component/Themes/ControlB.Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>