2014-02-23 128 views
1

我在C#中创建了一个自定义控件,该控件的模板在Themes/Generic.xaml中定义。该控件(与Themes/Generic.xaml一起)在输出到DLL的项目中定义。我不确定这是否重要,但控件位于子文件夹中。Visual Studio发布版本不工作

当我从主可执行文件引用控件时,控件的C#中的OnApplyTemplate()永远不会被调用,并且该控件显示为没有应用样式信息。

这只发生在发布版本;调试版本工作正常。

如果我在托管控件的控件(例如Window.Resources)的资源中重新定义模板,则控件可以正常工作。似乎Visual Studio没有将Themes/Generic.xaml链接到控件。

+3

这个问题为什么被低估? –

+1

大多数我见过的人都会放弃投票,但通常不会有石头(或知识)支持投票。啊,互联网匿名的喜悦。 – Brian

+0

我不得不同意Brian。 – f470071

回答

0

事实证明,我在发布输出文件夹中有一个空白的“en-US”文件夹,本地化实验遗留下来。显然,WPF/.NET引擎试图从“en-US”文件夹加载控件模板,当它失败时,不会恢复到程序集中定义的模板。

解决方案很简单 - 删除文件夹。

相关问题