C#按名称引用文本块

C#按名称引用文本块,c#,wpf,reflection,slider,textblock,C#,Wpf,Reflection,Slider,Textblock,我想以字符串形式引用XAML页面中的C#TextBlock。我希望能够在滑块上移动后更改TextBlock的文本。我可以根据滑块的名称计算TextBlock的名称 我猜我应该以某种方式使用System.Refelection,但我不知道如何使用。我尝试了以下方法: ... var slider = sender as Slider; var textblock_Name = slider.Name.Replace("Rotation_Slider", "Rotat

我想以字符串形式引用XAML页面中的C#TextBlock。我希望能够在滑块上移动后更改TextBlock的文本。我可以根据滑块的名称计算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;
...

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

尝试使用下面答案中的FindChild函数来查找文本块:

您需要的是绑定、绑定甚至更多绑定。你想要实现什么?我是否正确地假设您有一组滑块,并且希望为每个滑块显示值?这听起来并不困难,但是名称在Xaml中有一些限制,您能否描述需要动态更改名称的表示策略?