Agregar parámetro al evento de clic de botón

Tengo un botón wpf como este:

 

Y quiero pasar {Binding Code} pasado como parámetro al controlador button1_click.
¿Cómo hago esto?

Descargo de responsabilidad: realmente nuevo para WPF

Solución simple:

  

En su controlador, envíe el objeto sender a Button y acceda a la propiedad Tag :

 var myValue = ((Button)sender).Tag; 

Una solución más elegante sería usar el patrón Command de WPF : cree un comando para la funcionalidad que desea que el botón ejecute, vincule el comando a la propiedad Command del botón y vincule CommandParameter a su valor.

No soy demasiado fanático de ‘Tag’ así que quizás

  

Luego accediendo a través de los Atributos.

  void button1_Click(object sender, RoutedEventArgs e) { var button = sender as Button; var theValue = button.Attributes["myParam"].ToString() } 

Bueno, hay dos formas de hacer esto:

Emitir el DataContext

  void button1_Click(object sender, RoutedEventArgs e) { var button = sender as Button; var code = ((Coupon)button.DataContext).Code; } 

O use la propiedad Tag que es una propiedad de estado genérica

   

entonces

 void button1_Click(object sender, RoutedEventArgs e) { var button = sender as Button; var code = button.Tag; } 

Usando Xaml y DataContext

        

Y código de MainPage Behing, este ejemplo de código es para navegar a otra página utilizando el tipo de página como argumento, debe hacer “YourPageTypeHere” y la página de referencia aquí.

Luego implementa el código Detrás.

 using System; using System.Windows.Input; using Xamarin.Forms; namespace DataAndCloudServices { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); NavigateCommand = new Command( async (Type pageType) => { Page page = (Page)Activator.CreateInstance(pageType); await Navigation.PushAsync(page); }); this.BindingContext = this; } public ICommand NavigateCommand { private set; get; } } } 

También en su clase de aplicación necesita una Instancia de NavigationPage en MainPage para navegar (para este ejemplo)

 public App () { InitializeComponent(); MainPage = new NavigationPage(new MainPage()); } 

Es para las formas de xamarin, pero es similar para los proyectos de WPF.

El comando se puede cambiar con WPF y Xamarin: ” https://stackoverflow.com/a/47887715/8210755