0

文字列形式の名前で XAML ページから C# TextBlock を参照したいと考えています。スライダーで移動した後、TextBlock のテキストを変更できるようにしたいと考えています。Slider の名前に基づいて TextBlock の名前を計算できます。

System.Reflection を何らかの方法で使用する必要があると推測していますが、その方法がわかりません。私は次のことを試しました:

...
        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 行目で null 参照例外が発生します。おそらくフィールドを参照しようとするべきではないと思いますが、それが実際に何であるかはわかりません。

4

1 に答える 1

0

この回答の FindChild 関数を使用して、TextBlock を見つけてみてください: https://stackoverflow.com/a/1759923/2486160

于 2013-07-06T12:56:09.933 に答える