我目前正在WPF中編寫一個文件夾瀏覽器對話框。爲了顯示樹是我使用的TreeView:WPF TreeView項目不可選
<TreeView Name="FolderView" ItemsSource="{Binding DataTrees}" Grid.Row="0">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Tree}">
<TreeViewItem IsSelected="{Binding IsSelected, Mode=TwoWay}" IsExpanded="{Binding IsExpanded, Mode=TwoWay}" Header="{Binding Name}" HorizontalAlignment="Left"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
目前我有三個問題:
- 你不能在運行PROGRAMM選擇一個項目
- 的標題是關於兩個選項卡右(不是關鍵的,但難看)
- 「IsExpanded」只設置當雙擊的項目,而不是在點擊[+]
我不知道問題出在哪裏,請評論,我會更新我的問題!
編輯: 的的ItemSource是一個列表 數據樹類:
public class DataTree:INotifyPropertyChanged
{
private string path;
private string name;
private ObservableCollection<DataTree> tree;
private bool isSelected;
private bool isExpanded;
}
(簡單的代碼 - 不Propertys和實施INotifyPropertyChanged的)
在不瞭解內部結構的情況下修改'ItemTemplate'會導致很多問題。您應該使用Expression Blend來查看TreeViewItem的內部結構。 – 2014-09-23 09:18:10