【发布时间】:2013-07-06 06:00:43
【问题描述】:
我想通过字符串形式的名称从 XAML 页面引用 C# TextBlock。我希望能够在滑块上移动后更改 TextBlock 的文本。我可以根据 Slider 的名称计算 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;
...
但是我在倒数第二行得到一个空引用异常。我想我可能不应该尝试引用一个字段,但我不知道它到底是什么。
【问题讨论】:
-
你需要的是绑定,绑定,甚至更多的绑定。你想达到什么目标?我是否认为您有一组滑块并且您想为每个滑块显示值是正确的?
-
这听起来并不难,但名称在 Xaml 中有一些限制,您能否描述一下需要动态更改名称的演示策略?
标签: c# wpf reflection slider textblock