WPF用户控件与自定义控件

时间:2011-06-08 13:55:57

标签: c# wpf custom-controls

我正在尝试使用每行上的复选框创建一个组合框,以允许多次选择。作为用户控件或自定义控件,这会更好吗?

我之前没有创建过一个控件,只是在寻找一个关于我需要走向哪个方向的建议。

感谢。

2 个答案:

答案 0 :(得分:67)

UserControl(撰写)

  • 将多个现有控件组合成可重复使用的“组”
  • 由XAML和代码隐藏文件构成
  • 无法设置样式/模板
  • 从UserControl派生

CustomControl(扩展现有控件)

  • 使用其他功能扩展现有控件
  • 由Themes / Generic.xaml
  • 中的代码文件和默认样式组成
  • 可以设置样式/模板
  • 构建控件库的最佳方法

在你的情况下,我认为UserControl会更好;这是给你的一个例子:

<CheckBox Content="Property" IsChecked="{Binding Path=SomeProperty}" />
<ComboBox IsEnabled="{Binding Path=Enabled}" />

答案 1 :(得分:13)

我想说使用datatemplate。

像这样:Looking for a WPF ComboBox with checkboxes

这比尝试创建自己的控件简单得多。 :)