###やりたいこと、質問
Stringなどの変数でコントロールを指定し、そのプロパティを書き換えることがしたいのですが
調べる限りではWindowsFormでの記載はあっても、WPF上ではやり方がわかりませんでした。
以下のコードでは、button0とbutton1をクリックしたとき同じイベントを呼び出して
押したボタンのNameから操作したいコントロールのNameを表す文字列を作り出し
その文字列でコントロールを指定して操作するといったことを期待していますが、もちろんコンパイルエラーです。
WPF上でこのような処理をさせることはできないのでしょうか?
方法がありましたらご教授のほどよろしくお願いいたします。
###該当のソースコード
C#
1using System.Windows; 2using System.Windows.Controls; 3 4namespace HogeHoge 5{ 6 public partial class MainWindow : Window 7 { 8 public MainWindow() 9 { 10 InitializeComponent(); 11 } 12 13 public void TextBlockChange(string ChangeTo , string TextBlockName) 14 { 15 Controls[TextBlockName].Text = ChangeTo;//FormではできてもWPFではできない…? 16 } 17 18 private void button_Click(object sender, RoutedEventArgs e) 19 { 20 string ButtonName = (((Button)sender).Name); 21 ButtonName = ButtonName.Replace("button", "textBlock"); 22 23 TextBlockChange("Cahenged", ButtonName); 24 } 25 } 26}
<Window <!--省略--> > <Grid> <Button x:Name="button0" Click="button_Click" -省略- /> <Button x:Name="button1" Click="button_Click" -省略- /> <TextBlock x:Name="textBlock0" Text="TextBlock0" -省略- /> <TextBlock x:Name="textBlock1" Text="TextBlock1" -省略- /> </Grid> </Window>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/24 09:26