У меня есть wpf кнопка как это:
<Button Click="button1_Click" Height="23" Margin="0,0,5,0" Name="button1" Width="75">Initiate</Button>
И я хочу передать {Binding Code}
переданный как параметр button1_click обработчику.
Как я иду об этом?
Отказ от ответственности: действительно в новинку для WPF
] Простое решение: [
] [<Button Tag="{Binding Code}" ...>
]
[] В вашем обработчике, бросьте объект [] отправителя [
] на [] кнопку [
] и получите доступ к свойству [] метка [
]: [
var myValue = ((Button)sender).Tag;
]
[] Более элегантным решением было бы использование [] шаблона команды WPF []: Создайте команду для функциональности, которую должна выполнять кнопка, привяжите ее к свойству []Command[
] кнопки и привяжите параметр []CommandParameter[
] к своему значению.[
] Есть два способа сделать это:[
] []Отобразить DataContext[
] [ void button1_Click(object sender, RoutedEventArgs e)
{
var button = sender as Button;
var code = ((Coupon)button.DataContext).Code;
}
]
[]Или использовать свойство Tag, которое является общим свойством состояния[
] [ <Button Click="button1_Click" Height="23" Margin="0,0,5,0" Name="button1" Tag="{Binding Code}" />
]
[]затем[
] [void button1_Click(object sender, RoutedEventArgs e)
{
var button = sender as Button;
var code = button.Tag;
}
]