2010-05-21 32 views
1

我对WPF有点新鲜。我正在处理一个列表UI,列表中的每个项目都有一组相应的按钮来操作特定的数据项。WPF ListItem中的按钮

来自网络背景,我通常会将该值绑定到该特定列表项中的隐藏元素或其他东西。但是,我只需要在此WPF世界中找到相应的技术:-)

+0

你的问题解决了吗? – 2010-05-24 14:06:17

+0

还不完全...我一直在试图将一个路由命令绑定到这个按钮上,但是没有太多的运气得到命令来执行 – 2010-05-24 17:46:50

+0

嘿,请报告进度或询问您是否需要任何帮助。 – 2010-05-25 08:07:09

回答

2

最常用的技术是使用模板。请考虑使用模板列表项(例如一个ListBoxItem)的我的例子:

<ListBox> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <Button Command="{Binding Path=YourCommand}" Content="Dynamic Button 1" /> 
        <Button Command="{Binding Path=YourSecondCommand}" Content="Dynamic Button 2" /> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

,请随时问,如果您有任何问题/意见。

+0

感谢您的回答。我看...好的,那么我将如何定义YourCommand,以便上面的绑定可以正确地路由它,以及b)在该命令中,如何引用列表项的数据对象以便我可以对其执行操作? – 2010-05-21 11:56:26

+2

您将不得不为您的视图准备适当的DataContext。这听起来很可怕,但很快你会发现非常简单。请看看这篇关于绑定命令的大文章(使用MVVM设计模式)http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx作者使用了TreeView,但是您也可以使用Listbox以及没有分层数据模板。乍一看似乎很复杂,但要充分利用WPF的潜力,您必须熟悉绑定。如果你需要帮助,请给我留言! – 2010-05-21 12:18:29