single.php

C# WinUI3で、Xaml内にコードで追加した要素を後からアクセスしたい場合の対処法

C# WinUI 3アプリを作っていく途中で、調べたことを忘録的に投稿します。今回はコードからXamlに追加した要素([Button]など)を後からコードで利用したい場合にアクセスするの方法です。

[タグ]プロパティを使ったアクセス方法

Xamlにコードから[Button]などの要素を追加する際に[Tag]プロパティを利用して後から簡単にアクセスが可能です。

例えば、[Button]要素のイベントから別要素の[TextBlock]にアクセスしたい場合には、あらかじめ[Button]の[Tag]プロパティに[TextBlock]を設定します。

TextBlock textBlock = new TextBlock();
textBlock.Text = "HogeHoge"

Button button = new Button();
button.Tag = textBlock;
button.Click += Button_Click;

ボタンの[Button_Click]イベントからテキストブロックには次のようにアクセスできます。

private void Button_Click(object sender, RoutedEventArgs e)
{
    Button button = (Button)sender;
    var textBlock = (TextBlock)button.Tag;
    string text = textBlock.Text;
}

まとめ

今回は、短い記事ですが、コードからXamlに追加した要素([Button]など)を後からコードで利用したい場合にアクセスするの方法について紹介しました。

要素の追加する際に[Tag]プロパティに呼び出したい先の要素を設定すると、後からイベントなどで他要素にアクセスが可能です。

WinUI 3 アプリで、[Parent]や[FirstChild]などを利用せずに他の要素に簡単にアクセスしたい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です