求問WPF的MVVM模式下如何獲得被選中樹節點的父節點
var node = this.Tree.SelectedItem as Node;
。。。
。。。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
要的是父節點系結后的物件
uj5u.com熱心網友回復:
附上代碼,這是Node類
public class Node : INotifyPropertyChanged
{
private string nodeName;
public string NodeName
{
get
{
return nodeName;
}
set
{
nodeName = value;
OnPropertyChanged("NodeName");
}
}
private bool isExpanded;
public bool IsExpanded
{
get
{
return isExpanded;
}
set
{
isExpanded = value;
OnPropertyChanged("IsExpanded");
}
}
private bool isSelected;
public bool IsSelected
{
get
{
return isSelected;
}
set
{
isSelected = value;
OnPropertyChanged("IsSelected");
}
}
private ObservableCollection<Node> children;
public ObservableCollection<Node> Children
{
get
{
return children;
}
set
{
children = value;
OnPropertyChanged("Children");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
這是我寫的節點建構式,我不知道如何在建構式中表示該節點的父節點
private ObservableCollection<Node> children;
public ObservableCollection<Node> Children
{
get
{
return children;
}
set
{
children = value;
OnPropertyChanged("Children");
}
}
private Node parent;
public Node Parent
{
get
{
return parent;
}
set
{
parent = value;
OnPropertyChanged("Parent");
}
}
public Node()
{
Children = new ObservableCollection<Node>();
這是我寫的節點建構式,我不知道如何在建構式中表示該節點的父節點
private ObservableCollection<Node> children;
public ObservableCollection<Node> Children
{
get
{
return children;
}
set
{
children = value;
OnPropertyChanged("Children");
}
}
private Node parent;
public Node Parent
{
get
{
return parent;
}
set
{
parent = value;
OnPropertyChanged("Parent");
}
}
public Node()
{
Children = new ObservableCollection<Node>();
這是我寫的節點建構式,我不知道如何在建構式中表示該節點的父節點
private ObservableCollection<Node> children;
public ObservableCollection<Node> Children
{
get
{
return children;
}
set
{
children = value;
OnPropertyChanged("Children");
}
}
private Node parent;
public Node Parent
{
get
{
return parent;
}
set
{
parent = value;
OnPropertyChanged("Parent");
}
}
public Node()
{
Children = new ObservableCollection<Node>();
這是我寫的節點建構式,我不知道如何在建構式中表示該節點的父節點
private ObservableCollection<Node> children;
public ObservableCollection<Node> Children
{
get
{
return children;
}
set
{
children = value;
OnPropertyChanged("Children");
}
}
private Node parent;
public Node Parent
{
get
{
return parent;
}
set
{
parent = value;
OnPropertyChanged("Parent");
}
}
public Node()
{
Children = new ObservableCollection<Node>();
}
你這里吧Parent不就是父節點的資料么?難道你需要父節點的TreeViewItem?
我只是申明了這個變數,但是你要在建構式把parent組織關聯起來。
uj5u.com熱心網友回復:
首先一般樹形介面在設定值的時候都是遞回處理的,在遞回方法中可以設定當前物件的屬性和其父節點物件;
uj5u.com熱心網友回復:
首先一般樹形介面在設定值的時候都是遞回處理的,在遞回方法中可以設定當前物件的屬性和其父節點物件;
public Node GetParentNode(Node selectednode)
{
Node nodeparent = new Node();