2011-03-20 94 views
1

如何以編程方式從cp中的wpf樹視圖中選擇rootnode,並將其與xmlDataProvider一起使用databindet?從WPF-TreeView中選擇Rootnode

在我的情況下,根節點爲數據類型= 「卡」:

<cards> 
    <category /> 
    <card /> 
    <card /> 
    <card /> 
</cards> 

我嘗試這樣做:

//AddNode 
xmlDataProvider.Document.DocumentElement["cards"].AppendChild(newNode); 

//Select rootnode 
treeView.SelectedValuePath = "cards"; 
//the hard way: 
//treeView.SelectedValuePath = ((XmlNode)treeView.Items.GetItemAt(0)).Name.LocalName"; 

treeView.Focus(); 

但根節點isn't選擇:-(

回答

6

我做到了:-)

var treeViewItem = treeView.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem; 

treeViewItem.Focus(); 
+0

如果它不起作用,這對我 – cd491415 2016-09-16 23:55:18

+0

@ cd491415不起作用,這可能是因爲尚未從源數據生成樹視圖項目。 – fabspro 2018-03-03 03:17:07

0

( treeView.Items [0] as TreeViewItem).Focus(); should work,i think。

+0

好吧,我現在看到的是不是** **那麼容易當您使用xmldataprovider ... :( – Ben 2011-03-20 20:26:17

+0

您的代碼創建一個NullReferenceException,我已經測試過這種方式我自己我創造了這個問題之前;-) – jwillmer 2011-03-20 22:22:18

+0

是的,在我寫完之後,我寫了一個測試,但是失敗了。我從來沒有使用綁定xmls,所以對於fals警報很抱歉。 – Ben 2011-03-20 22:29:02