2011-03-17 84 views
0


目前我正在開發Microsoft Surface,主要是創建一個基於數據庫動態創建ScatterViewItems的應用程序(儘管沒有綁定,但對於問題並不重要)。嘗試使用ScatterView將名稱註冊到SVI,然後將其放入控件中。以編程方式命名ScatterViewItem

聲明對NameScope:

NameScope.SetNameScope(ActionArea, new NameScope()); 

創建/分配的SVI名稱

foreach(KeyValuePair<int,Node> i in nodes) 
{ 
    ScatterViewItem item = new ScatterViewItem(); 
    item.Content = i.Value.Argument; 
    item.Tag = i.Value; 
    ActionArea.RegisterName("NodeID" + i.Key.ToString(), item); 
    ActionArea.Items.Add(item); 
} 

調用名稱稍後

ScatterViewItem to = (ScatterViewItem)ActionArea.FindName(name); 

如果這就是所謂的,FindName返回null。從這裏(並查看SVI的名稱屬性),我只能得出結論,我分配的名稱是錯誤的。

那麼你如何給程序創建的對象分配一個名稱?

+0

沒關係,它是與命名的東西無關的代碼。 – 2011-03-17 09:44:37

回答

0

不要擔心NameScope - 非常非常少需要。

foreach(KeyValuePair<int,Node> i in nodes) 
{  
    ScatterViewItem item = new ScatterViewItem();  
    item.Content = i.Value.Argument;  
    item.Tag = i.Value;  
    item.Name = "NodeID" + i.Key.ToString(); // set the name property 
    ActionArea.Items.Add(item); 
} 
相關問題