C#按名称引用TextBlock

时间:2013-07-06 06:00:44

标签: c# wpf reflection slider textblock

我想以字符串的形式通过名称从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;
...

但是我在倒数第二行得到一个空引用异常。我想我可能不应该尝试引用一个字段,但我不知道它到底是什么。

1 个答案:

答案 0 :(得分:0)

尝试使用此答案中的FindChild函数来查找TextBlock: https://stackoverflow.com/a/1759923/2486160