我想爲WPF和c#中的treeView構建模板。我的問題是我想爲每個項目級別應用不同的模板。 我的意思是,第一個項目級別將與第二級項目看起來不同。 我不知道如何使用模板和綁定來做到這一點,因爲我對這項技術很陌生。 我也試圖將按鈕添加到某個treeviewItems級別,所以我可以觸發事件或命令...我知道這是很多要問,但我希望有人會給我一個線索,至少如果它是否可能。 謝謝。TreeView按鈕多層次自定義模板
2
A
回答
1
假設所有對象都是相同的類型,我可以看到兩個方法來實現這將是使用ItemTemplate或ItemTemplateSelector屬性。
個人而言,我更喜歡使用ItemTemplate屬性的XAML方法。
在模板中,您可以指定觸發器根據項目所在的級別來改變外觀。爲了獲得這個級別,你可以指定一個類似的轉換器:
public class TreeViewItemToLevelConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (!(value is DependencyObject))
return 0;
return findLevel(value as DependencyObject, -1);
}
private int findLevel(DependencyObject tvi, int level)
{
DependencyObject tv = ItemsControl.ItemsControlFromItemContainer(tvi) as DependencyObject;
if (tv != null)
return findLevel(tv, level + 1);
else
return level;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}
+0
我的投票在這裏。我想補充一點,你應該確定你的意思是「等級」。它是視覺層面還是邏輯層面?作爲「邏輯層次」,我指的是顯示的項目的邏輯重要性,不一定與視覺層次匹配。如果是這樣,我會建議在你的模型中提供一個專門的屬性「級別」,而不是計算所示的「脂肪」。但是,對於視覺方式來說,「脂肪」片段沒問題。 –
0
HierarchicalDataTemplate
具有ItemTemplate
財產,以及...你可以使用它。
看到這...
http://blogs.msdn.com/b/chkoenig/archive/2008/05/24/hierarchical-databinding-in-wpf.aspx
相關問題
- 1. 自定義Silverlight TreeView模板
- 2. TreeView的多層次
- 3. 多層次的TreeView
- 4. WordPress模板層次結構的自定義文章類型
- 5. 自定義帖子類型和模板層次
- 6. 自定義jQuery層次
- 7. 綁定StringFormat的自定義按鈕模板問題
- 8. 在jQuery模板裏面定義按鈕
- 9. CakePHP的自定義搜索在多層次模型關係
- 10. 再次關於自定義模板
- 11. WP模板層次
- 12. Wordpress模板層次
- 13. 多層按鈕/環按鈕
- 14. TreeView項目 - 分層數據模板
- 15. treeview的分層數據模板類
- 16. 自定義按鈕
- 17. 自定義按鈕
- 18. 自定義按鈕
- 19. 自定義按鈕
- 20. 自定義按鈕
- 21. 自定義按鈕
- 22. 創建幾個自定義按鈕模板
- 23. 無法修改自定義模板的按鈕內容
- 24. 創建按鈕的KendoUI網格自定義彈出式模板
- 25. 帶有自定義內容模板的WPF創建按鈕
- 26. 與自定義模板WPF按鈕只能被壓在內容
- 27. 自定義滾動查看器模板滾動按鈕
- 28. 使用自定義模板和觸發器設置按鈕BorderBrush
- 29. 自定義模板
- 30. WPF Treeview多層次使用HierarchialdataTemplate
@齊亞德:這是可能的。每個TreeNode都是一個容器,您可以在其中添加自定義控件。 – CharithJ
其可能! [點擊這裏!](http://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=tree+view+wpf+codeproject) – stukselbax
謝謝你們。你真的幫助了我。我現在有了更好的理解! – 2011-08-13 08:32:17