Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XAML-查找单击哪个按钮的方法_C#_Xaml_Button_Dynamic - Fatal编程技术网

C# XAML-查找单击哪个按钮的方法

C# XAML-查找单击哪个按钮的方法,c#,xaml,button,dynamic,C#,Xaml,Button,Dynamic,我正在开发Windows应用商店应用程序 我正在从C#代码隐藏文件动态加载XAML代码。因此,我无法将单击事件添加到按钮 有没有办法知道在没有单击事件的情况下使用按钮名称单击了哪个按钮?您应该了解WPF开发的方法和模式。单击事件处理程序是过时的Windows窗体编程。在WPF中,命令模式由接口表示。每个按钮都有一个命令属性,您可以在其中绑定命令对象。如何动态加载XAML代码?您可以动态加载XAML,找到所有按钮实例,并为“点击”事件添加事件监听器 var grid=Xaml.LoadXaml(“

我正在开发Windows应用商店应用程序

我正在从C#代码隐藏文件动态加载XAML代码。因此,我无法将单击事件添加到按钮


有没有办法知道在没有单击事件的情况下使用按钮名称单击了哪个按钮?

您应该了解WPF开发的方法和模式。单击事件处理程序是过时的Windows窗体编程。在WPF中,命令模式由接口表示。每个按钮都有一个命令属性,您可以在其中绑定命令对象。

如何动态加载XAML代码?您可以动态加载XAML,找到所有按钮实例,并为“点击”事件添加事件监听器


var grid=Xaml.LoadXaml(“我正在像这样动态添加Xaml代码。UIElement tree=(UIElement)XamlReader.Load(Xaml);QRGrid.Children.Add(tree);我可以将此代码用于单击的事件吗?是的。它可以用于任何事件。
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; 
   }