91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

WPF:在 MVVM 中綁定 TreeView 的分步教程

wpf
小云
172
2023-09-26 06:34:25
欄目: 編程語言

以下是在MVVM中綁定TreeView的分步教程:

步驟1:創建一個新的WPF項目。在項目中添加一個ViewModel類和一個Model類。ViewModel類將包含用于綁定TreeView的數據和命令,而Model類將包含實際的數據。

步驟2:在ViewModel類中聲明一個ObservableCollection屬性,用于存儲TreeView的節點。

private ObservableCollection<TreeNode> _nodes;
public ObservableCollection<TreeNode> Nodes
{
get { return _nodes; }
set
{
_nodes = value;
OnPropertyChanged("Nodes");
}
}

步驟3:在Model類中定義一個TreeNode類,該類將表示TreeView的節點。TreeNode類應包含一個名稱屬性和一個子節點集合。

public class TreeNode
{
public string Name { get; set; }
public ObservableCollection<TreeNode> Children { get; set; }
}

步驟4:在ViewModel類的構造函數中創建TreeView的示例數據。

public MainViewModel()
{
Nodes = new ObservableCollection<TreeNode>()
{
new TreeNode()
{
Name = "Node 1",
Children = new ObservableCollection<TreeNode>()
{
new TreeNode() { Name = "Subnode 1.1" },
new TreeNode() { Name = "Subnode 1.2" }
}
},
new TreeNode()
{
Name = "Node 2",
Children = new ObservableCollection<TreeNode>()
{
new TreeNode() { Name = "Subnode 2.1" },
new TreeNode() { Name = "Subnode 2.2" }
}
}
};
}

步驟5:在MainWindow.xaml中添加TreeView控件,并將其ItemsSource屬性綁定到ViewModel中的Nodes屬性。

<TreeView ItemsSource="{Binding Nodes}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>

步驟6:在MainWindow.xaml.cs中設置MainWindow的DataContext為ViewModel的實例。

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel();
}
}

現在,您應該能夠在TreeView中看到綁定的節點和子節點。您可以通過在ViewModel中的Nodes屬性中添加、刪除或更改節點來動態修改TreeView的內容。

0
柳林县| 池州市| 五大连池市| 开江县| 那坡县| 巴东县| 静乐县| 丹巴县| 南丰县| 太白县| 固阳县| 自治县| 西盟| 历史| 平顺县| 德化县| 日喀则市| 娱乐| 南华县| 皮山县| 工布江达县| 杭州市| 浦东新区| 巨野县| 娄底市| 襄樊市| 绥宁县| 濮阳县| 额尔古纳市| 长治市| 潼关县| 二连浩特市| 久治县| 莱州市| 红河县| 连平县| 富川| 瑞安市| 大冶市| 平罗县| 历史|