【发布时间】:2012-07-10 00:00:59
【问题描述】:
您好,我有一个绑定到 xml 文件的列表框,每个项目我都给了他们一个按钮数据模板,这样我就可以轻松地为每个项目注册一个单击事件。
我很想得到点击按钮的内容来做一些查询。
这是我的代码
XAML
<ListBox Name="listBox1" >
<ListBox.ItemsSource>
<Binding Source="{StaticResource keywordLib}" XPath="Position/Keyword/Word"/>
</ListBox.ItemsSource>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="{Binding}" Click="keyword_Click"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
经过数小时的谷歌搜索后。我知道我应该使用 click 事件中的 sender,这对于普通按钮来说效果很好,这里没有说明。
private void keyword_Click(Object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
String keyword = btn.Content.ToString();
MessageBox.Show(keyword);
}
消息框显示“System.Xml.XmlElement”。而不是按钮内容。
非常感谢任何人可以帮助我解决这个问题。我花了这么多钱,我猜想解决办法只是一行代码。
【问题讨论】:
标签: wpf button listbox mouseclick-event