gpt4 book ai didi

WPF HierarchicalDataTemplate TreeView 不可点击

转载 作者:行者123 更新时间:2023-12-03 20:50:12 25 4
gpt4 key购买 nike

我有一个 TreeViewHierarchicalDataTemplate .项目已正确填写,但我无法点击 TreeView项目。 (我不能选择一个,所以它被标记为蓝色)。
我可以点击前面的TreeViewItem然后选定的标记为蓝色。看起来有一个我可以点击的小框,但其余的不是。

这是我的代码:

XAML:

<TreeView ItemsSource="{Binding Main.TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Children}">
<TreeViewItem Header="{Binding Path=Header}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>

型号
public class ITreeItem
{
public string Header { get; set; }
public List<ITreeItem> Children { get; set; }
}

class MainModel : INotifyPropertyChanged
{
private List<ITreeItem> _treeitems;

public MainModel()
{
_treeitems = new List<ITreeItem>();

List<ITreeItem> treeList = new List<ITreeItem>();

ITreeItem myItem1 = new ITreeItem();
myItem1.Header = "Test1";
myItem1.Children = new List<ITreeItem>();
treeList.Add(myItem1);

myItem1.Header = "Test2";
myItem1.Children = new List<ITreeItem>();
treeList.Add(myItem1);

TreeItems = treeList;
}

public List<ITreeItem> TreeItems
{
get
{
return _treeitems;
}
set
{
_treeitems = value;
OnPropertyChanged("TreeItems");
}
}

public event PropertyChangedEventHandler PropertyChanged;

private void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;

if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}

最佳答案

在您的 XAML 中,而不是使用 <TreeViewItem>HierarchicalDataTemplate ,尝试使用另一个控件,例如 TextBlock :

<TextBlock Text="{Binding Path=Header}"/>

关于WPF HierarchicalDataTemplate TreeView 不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14877349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com