将控件自定义到 WPF 中的窗口应用程序中



标题并没有真正的意义...对此感到抱歉。我会尝试解释我的问题。我有一个更大的项目,我正在尝试实现一个新的 WPF 窗口,其中包含一些自定义控件。更深入地说,这个窗口应该看起来像一个计算器。此计算器有许多键按钮,这些按钮是从控件继承的"自定义控件",它们的样式在 Generic.xaml 中定义。当我尝试调试它时,自定义控件(键按钮)不会出现在计算器窗口中。我认为这是由于 Generic.xaml 文件有问题。有人可以给我一个提示???提前致谢保罗

一些建议:

  • 下载Snoop(它是免费的),它在运行时检查你的可视化树,并帮助查看控件是否存在,样式是否使它们不可见,等等。

  • 删除样式,运行项目 - 控件是否显示? 然后是你的风格!

  • 您是否有针对按钮的无名称/无键样式,其他简单/开箱即用的控件?然后,如果它们是影响控件的控件,则也删除它们,请考虑更改它们,或将样式应用于控件,以便它们停止从这些默认值继承。

我在网上搜索了很多,最后我得到了这个讨论的答案 wpf-resource-not-load-from-generic 的解决方案。线索是将以下代码行添加到AssemblyInfo中.cs:

[assembly: ThemeInfo(
    ResourceDictionaryLocation.None, 
    //where theme specific resource dictionaries are located
    //(used if a resource is not found in the page, 
    // or application resource dictionaries)
    ResourceDictionaryLocation.SourceAssembly 
    //where the generic resource dictionary is located
    //(used if a resource is not found in the page, 
    // app, or any theme specific resource dictionaries)
)]

也许这对将来的某个人有用... :-)

问候保罗

最新更新