0

Windows Phoneアプリケーションで名前でコントロールを検索することはできますか?私はそれがc#で書かれた通常のデスクトップアプリケーションで可能であることを知っています:

string s = "label2";
            Control[] controls = this.Controls.Find(s, false);
            if (controls.Length > 0)
            {
                Label found = controls[0] as Label;
                if (found != null) found.Text = "new label2 text";
            }

Windows Phoneアプリケーションでは、「this.Controls」は認識されません。

4

2 に答える 2

3

使用FindName

var control = this.FindName(s);

if (control != null)
{
    // Whatever
}
于 2013-01-10T20:57:11.927 に答える
1

はい、可能ですが、Windows Phoneでは、コントロールはビジュアルツリーと呼ばれるツリーのような構造内に配置されます。コントロールを見つけるには、このツリーをナビゲートする必要があります。このプロセスを簡素化するLinq-to-VisualTreeというユーティリティクラスをしばらくbcdで作成しました。

于 2013-01-10T20:57:59.770 に答える