XAML - 查找单击按钮的方法

时间:2013-03-26 06:03:37

标签: c# xaml button dynamic

我正在开发Windows应用商店应用。

我正在从C#代码隐藏文件动态加载XAML代码。所以,我无法将click事件添加到按钮。

有没有办法在没有点击事件的情况下使用按钮名称来了解点击了哪个按钮?

2 个答案:

答案 0 :(得分:0)

您应该查看WPF开发的MVVMCommand模式。 Click事件处理程序是过时的Windows窗体编程。在WPF中,命令模式由ICommand接口表示。每个按钮都有一个Command属性,您可以在其中绑定命令对象。

答案 1 :(得分:0)

如何动态加载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/