MVVM 風格。最好不要過多地擾亂視圖,最好不要觸及視圖。
是否可以創建一個只包含嵌套專案并且TreeView只顯示它們的集合?
我看過一個使用 a MenuItemused 作為資料型別的示例。如果我不想使用MenuItem怎么辦?我假設,我的專案應該只實作一個定義它如何包含其他專案的介面。這個界面是什么?
另外 - 我需要在每個專案上都有一個復選框,但這可能是提供專案模板的問題。
再說一次,MenuItem可以檢查 a ,這可能很有用;)
uj5u.com熱心網友回復:
WPF 中的 ItemsControl 類(包括 ListBox 和 TreeView)的美妙之處在于專案源可以是您喜歡的任何型別的集合。它沒有理由必須是基于 UI 的類——事實上,對于模板,它可能永遠不應該是。
然后設定 ItemTemplate 以定義為 ItemsSource 集合中的每個專案顯示的 UI。
例如
public class Person
{
public string FirstName {get;set;}
public string LastName {get;set;}
public List<Person> Children {get;} = new List<Person>();
}
public class MainViewModel
{
public List<Person> PersonList {get;} = new List<Person>();
}
<TreeView
ItemsSource = {Binding PersonList} >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate
ItemsSource="{Binding Children}">
<StackPanel>
<Textblock Text={Binding FirstName} />
<Textblock Text={Binding LastNameName} />
</StackPanel>
</HierarchicalDataTemplate>
<TreeView.ItemTemplate>
</TreeView>
查看我的博客文章,深入討論如何在 MVVM 背景關系中處理 TreeView 控制元件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408711.html
標籤:
