2015-06-23 206 views
0

我一直試圖找到一種方法,有內列表框控制我ListBoxItem中的命令按鈕。我使用MVVM和命令綁定到DataContext通過ICommand接口。我無法找到一種方法來綁定到ListBox ItemsSource內的的Views DataContext。我繼續得到一個命令「未找到」錯誤。任何人都可以幫助我理解如何做到這一點。我相信它與命令綁定路徑有關,但我不確定。任何幫助或指導都會很棒。ListBoxItem的MVVM命令中的WPF列表框的命令綁定

+0

如果你提供了產生錯誤代碼,這將是很好。你還可以提供你的ListBox代碼和ListBoxItem模板嗎? – VMaleev

回答

2

ListBox中的項目的DataContext將是它們所代表的項目。因此,如果您的ItemsSource綁定到Widgets列表,那麼您的ListBoxItemDataContext將成爲Widget。

如果您需要訪問ListBoxDataContext,而不是ListBoxItem,那麼你可以使用RelativeSource

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBox}}, 
            Path=DataContext.MyCommand}" /> 
+0

我需要訪問WPF窗口本身的DataContext,所以我需要再增加一個級別,或者您的響應在樹中足夠高嗎? – Edd

+0

謝謝......我回答了我自己的問題。 「類型窗口」。謝謝你的幫助。 – Edd