你好,我有一个绑定到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>
经过数小时的搜索解决方案,我知道应该使用来自点击事件的发送器,对于普通按钮这很有效,但在这里并没有奏效。
private void keyword_Click(Object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
String keyword = btn.Content.ToString();
MessageBox.Show(keyword);
}
消息框显示的是“System.Xml.XmlElement”,而不是按钮内容。
非常感谢任何能够帮助我的人。我在这上面花费了很多时间,但我猜解决方案只需要一行代码。