2010-08-06 5 views
0

itemsSource가 목록, 목록 및 사전에 바인딩 된 세 개의 목록 상자가 있습니다. 선택한 사용자와 선택한 책을 명령으로 사전에 추가하려고하지만 선택한 항목을 가져갈 수 없습니다. 나는 mvvm에 복종하려고 노력하고있다. 나는 나의 뷰에서 주어진 listboxes에 바인드 된 booklist와 userlist를 가지고있다. 선택한 항목을 내 viewmodel에 보낼 수 없습니다. 내가 어떻게 할 수 있니? 미리 도움을 주셔서 감사합니다.목록 상자에서 선택한 개체를 가져 오는 방법 --- wpf

+0

VM에서 선택한 항목을 가져올 수없는 이유는 무엇입니까? –

답변

2

그냥 selectedItem가에 속성을 바인딩 :

<ListBox 
    ItemsSource="{Binding Books}" 
    SelectedItem="{Binding SelectedBook}"/> 

와의 뷰 모델

당신의 ViewModel에서
public class Library : INotifyPropertyChanged 
{ 
    public ObservableCollection<Book> Books {get;private set;} 
    public Book SelectedBook {get;set;} 
} 
+0

정말로 도움을 주신 것에 진심으로 감사드립니다 ... – cemregoksu

1

, 당신은 SelectedBook과 SelectedUser를 작성하고의 selectedItem가에 사람들을 바인딩 할 수 없습니다 귀하의 ListBoxes? 그런 다음 변경하면 사전에 추가하십시오.

+0

도와 주셔서 감사합니다, 그것은 올바른 지적이었습니다. – cemregoksu

1

슬래시 (/)를 사용하여 표준 바인딩 구문을 사용할 수도 있습니다.

{Binding Books/} 

을 사용하면 컬렉션의 현재 항목에 직접 바인딩 할 수 있습니다.

관련 문제