2013-07-06 100 views
0

我想通過名稱以字符串的形式從XAML頁面引用C#TextBlock。我希望能夠在移動滑塊後更改TextBlock的文本。我可以根據Slider的名稱來計算TextBlock的名稱。C#參考TextBlock的名稱

我猜我應該以某種方式使用System.Refelection,但我無法弄清楚如何去做。我試過以下內容:

... 
     var slider = sender as Slider; 
     var textblock_Name = slider.Name.Replace("Rotation_Slider", "Rotation_TextBlock"); 
     var type = this.GetType(); 
     var field = type.GetField("xRotation_TextBlock"); 
     var textBlock = field.GetValue(this) as TextBlock; 
... 

但是我在第二行到最後一行得到一個空引用異常。我想我可能不應該試圖引用一個領域,但我不知道它到底是什麼。

+2

你需要什麼是綁定,綁定和更具有約束力。你想實現什麼?我是否假設你有一組滑塊,並且你想要顯示每個滑塊的值? – dkozl

+0

這聽起來不難,但名稱在Xaml中有一些限制,您能描述一下您的演示策略,需要動態更改名稱嗎? –

回答