2012-03-13 4 views
0

에 따라. ListBox의 선택한 항목에 따라 일부 레이블에 선택한 항목의 속성을 채우고 싶습니다. 또한 각 항목의 Button은 고유 액션 (즉, 관련 항목 중 하나를 Array에 추가)을 수행해야하지만 AddItem() 메서드에 고유 한 인수를 보내는 방법을 알 수 없습니다. 나는 이것이 일반적인 유스 케이스라고 생각했지만, 인터넷 검색으로 아무것도 찾을 수 없다.레이블 변경 내용은 내가 ObservableCollection에 바인딩 된 목록 상자가 목록 상자 선택

감사합니다.

+1

'일부 라벨의 세부 정보에서 선택한 항목의 속성을 표시하고 싶습니다.'... ... '일부 라벨 표시 세부 정보'?? –

+0

감사합니다, 나는 그 문장을 다시 말해 보았다. – dotancohen

+0

님은 mvvm을 사용하고 있습니까? –

답변

1

당신은 DependencyProperty에 ListBox.SelectedItem을 결합 할 수 내가 선택한 항목의 속성

을 표시 할 세부 사항 몇 가지 레이블의 을하고 싶은 목록 상자에서 선택한 항목에 따라 다음 그냥 바인딩 속성을 라벨에 추가하십시오.

또한 각 항목의 버튼 (즉, 배열에 관련 항목 중 하나를 추가 ) 그러나 나는 AddItem을() 메소드에 고유 인수를 보내는 방법을 알아 알 수없는 고유 한 작업을 수행해야합니다.

당신은 Button.Tag에 항목 ID를 추가 할 수

<Button Content="Add me!" Click="AddItem" Tag={Binding Path=id} /> 

그럼 그냥 이

편집

public void button_clicked(object sender, event e) { 
    int id = ((Button)sender).Tag as Int32; 
    ... 
} 
보낸 사람의 버튼 태그를 얻을 : 또한 전체 바인딩 할 수 있습니다 버튼 대신 이드의 태그 만 태그.

+0

또는 항목에서 ICommand 속성을 노출하고 Button Command 특성을 바인딩 할 수 있습니다 (자세한 내용은 google DelegateCommand를 참조하십시오). – Scroog1

+0

다니엘 감사합니다! 완전한! – dotancohen

관련 문제