【问题标题】:Wpf Custom Control problemWpf 自定义控件问题
【发布时间】:2010-01-07 12:33:20
【问题描述】:

我制作的 WPF 自定义控件有一个奇怪的问题。当我将 WPF 自定义控件从工具箱拖放到设计图面时,我只看到一个边框,其中没有任何控件...我有另一个相同的 WPF 自定义控件项目,具有相同的自定义控件和相同的代码,当我引用该项目时,一切正常.

我在主题文件夹中有一个名为 DatePicker.Generic.Xaml 的模板,我已经定义了

<Style x:Key="{x:Type DateControls:DatePicker}" 
       TargetType="{x:Type DateControls:DatePicker}">

其中 DateControls 是我的 DatePicker 自定义控件的 xml 命名空间。 我也加了

[assembly: ThemeInfo(
    ResourceDictionaryLocation.SourceAssembly,
    ResourceDictionaryLocation.SourceAssembly)] 

在汇编信息文件中。 有人可以帮忙吗? 谢谢

【问题讨论】:

    标签: wpf wpf-controls


    【解决方案1】:

    检查您的控件代码是否有一个静态构造函数,该构造函数使用适当的类型参数调用 DefaultStyleKeyProperty.OverrideMetadata(如果您在 VS 中添加新的自定义控件,它会为您生成)。

    【讨论】:

      【解决方案2】:

      您可能想查看ComponentResourceKey 标记扩展。设置 Style 元素时,请查看 TypeInTargetAssembly 和 ResourceId 参数(属于 componentresourcekey)。

      【讨论】:

      • 我看了一下,一切似乎都很好。我已经多次定义了 TypeInTargetAssembly={x:Type DateControls:DatePicker},ResourceId=DropDownButtonStyleKey 与不同的 ResourceId 和 DateControls 是好的命名空间...
      猜你喜欢
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多