2014-02-19 63 views
0

我正在編程構建一個XAML塊,並希望爲TextElement對象(此例中爲下劃線)提供名稱x:Name,但即使名稱prop也提供了setter,但它不能按照此MSDN文章設置:XAML:如何設置TextElement.Name屬性

MSDN: TextElement.Name

獲取或設置對象的唯一標識。名稱只能從初始解析XAML中設置。

這裏是我的代碼:

public void AddLink(string token, string text, string uri) 
{ 
    var elem = new Underline(); 
    elem.Name.Name = token; // <-- I would expect this would work... 

    elem.Inlines.Add(); 

    if (Container == null) 
     Container = new Paragraph(); 

    Container.Inlines.Add(elem); 
} 
+0

我喜歡它。這個標籤爲'[XAML]',但我在這裏沒有看到XAML。 –

+0

@HighCore哈!正在等待... –

回答

2

我不知道如果我得到你的問題的權利,但對我來說,好像你問到註冊一個名稱在WPF特定名稱範圍。

這是你所需要的:

MSDN: FrameworkElement.RegisterName

下面是一個例子:

myMainPanel = new StackPanel(); 
myMainPanel.Background = Brushes.Orange; 

button1 = new Button(); 
button1.Name = "Button1"; 

// Register button1's name with myMainPanel. 
myMainPanel.RegisterName(button1.Name, button1); 
button1.Content = "Button 1"; 
button1.Click += new RoutedEventHandler(button1Clicked); 
myMainPanel.Children.Add(button1); 

button2 = new Button(); 
button2.Name = "Button2"; 

// Register button2's name with myMainPanel. 
myMainPanel.RegisterName(button2.Name, button2); 
button2.Content = "Button 2"; 
button2.Click += new RoutedEventHandler(button2Clicked); 
myMainPanel.Children.Add(button2);