2010-05-21 68 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