Windowsストアアプリを開発しています。
C# コード ビハインド ファイルから XAML コードを動的に読み込んでいます。そのため、クリックイベントをボタンに追加できませんでした。
クリックイベントなしでボタン名を使用して、どのボタンがクリックされたかを知る方法はありますか?
WPF 開発のMVVMおよびコマンドパターンを調べる必要があります。クリック イベント ハンドラーは、古い Windows フォーム プログラミングです。WPF では、コマンド パターンはICommandインターフェイスによって表されます。各ボタンには、コマンド オブジェクトをバインドできる Command プロパティがあります。
XAML コードをどのように動的にロードしていますか? XAML を動的に読み込み、すべてのボタン インスタンスを検索し、"Tapped" イベントのイベント リスナーを追加できます。
var grid = Xaml.LoadXaml("<Grid><Button x:Name='BLAH' /><Button x:Name='BLAH2'></Grid");
foreach(var button in VisualHelper.FindVIsualCHildren<Button>(grid))
button.Tapped += delegate(object sender, TappedEventArgs a)
{
var btn = sender as BUtton;
}
このツールキットから便利なものを見つけることができます: http://winrtxamltoolkit.codeplex.com/