我将如何修改当前的TreeView以支持“关键,警报”的父节点,然后子节点将成为该严重性类型的消息。我正在使用与TreeView绑定的ObservableCollection。每种消息类型中都有更多数据,但是我只希望其中一些对用户可见。然后,当用户单击一个子节点时,从集合中的该项目中提取其他数据,并在需要的地方显示它。我将ID添加为隐藏,因为我不确定是否需要引用唯一引用集合中该项目的内容。我还想为每个父节点默认一个不同的图标,子节点将没有图标。

希望我对此进行描述,以便可以理解。

XMAL

 <TreeView x:Name="tvMessages" HorizontalAlignment="Left" Height="262" Margin="10,37,0,0" VerticalAlignment="Top" Width="248">
                <TreeView.ItemTemplate>
                    <HierarchicalDataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image Source="{Binding Icon}" />
                            <TextBlock Text="{Binding Description}" />
                            <TextBlock Text="{Binding ID}" Visibility="Hidden" />
                        </StackPanel>
                    </HierarchicalDataTemplate>
                </TreeView.ItemTemplate>
            </TreeView>


消息数据

public class MessageData
{
    public Guid ID { get; set; }
    public string Severity { get; set; }
    public string Description { get; set; }
    public string ClientID { get; set; }
    public string Specialty { get; set; }
    public DateTime IssuedDate { get; set; }
}

最佳答案

它有点老,但是这个MSDN博客应该让您朝着正确的方向http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-by-step.aspx

关于c# - WPF TreeView节点和子节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20344313/

10-17 00:59