WPF控制分组

时间:2011-01-18 04:31:58

标签: wpf xaml user-controls

我有一组看起来像这样的控件: < Link to Image> 我重复使用了很多次。列表视图,3个按钮和一些布局面板非常简单。

我想将其转换为可重用的组件,但listview中的列可以更改,它们绑定的源将更改。

我该如何解决这个问题?我已经看过ContentTemplates和UserControls等之间的许多比较,但它们似乎从未发挥作用(例如,Add会引发一个事件,我必须处理以向listview添加内容,remove会引发一个我可能会问的事件如果他们先确定的话。)

我用自己的UserControl完成了事件,但是无法将GridViewColumns列表传递给控件。这也意味着我必须从UserControl手动公开SelectedItem等。 Subclassing Listview似乎很有希望进行设置和访问,但在概念上似乎没有在listview区域中有其他控件。

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

我肯定会推荐一个UserControl。你应该:

  1. 将您需要的控件添加到用户控件
  2. 将您需要的依赖关系属性添加到用户控件,允许您对其进行配置,例如:的SelectedItem
  3. 将这些依赖项属性连接到用户控件中的各种控件。一种简单的方法是将用户控件可视树的DataContext设置为用户控件本身,例如如果您有一个Grid作为用户控件的根,请在代码中设置其DataContext = this。然后,您可以使用TwoWay绑定将各种控件属性连接到用户控件属性。