首页 > 解决方案 > 将 TreeView 项标头绑定到 WrapPanel 的选定子项内容

问题描述

我有一个TreeView里面有一个TreeViewItem。我还有一个WrapPanel它的孩子是RadioButtons在运行时添加到 WrapPanel 和从 WrapPanel 中删除的。现在我想要实现的是,当在 WrapPanel 中选中(选中)一个 RadioButton 时,选中的 RadioButton 的内容文本应该显示在 TreeViewItem 的标题中。我的意思是我想将 TreeViewItem 的 header 属性绑定到所选 RadioButton 的 content 属性。我如何最好在 xaml 或代码隐藏中执行此操作?

请记住:RadioButtons 在运行时添加和删除。

标签: c#.netwpfdata-bindingtreeview

解决方案


使用 mvvm 是最可靠的方法。但是,如果您需要更简单的东西,那么在创建 RadioButton 时,请将 TreeViewItem 分配给它的 Tag 属性。此外,选择特定的RadioButton时:

private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
    ((sender as RadioButton).Tag as TreeViewItem).Header = (sender as RadioButton).Content;
}

推荐阅读