MVVM: ListBox에 바인딩하고 있습니다.선택된항목이 업데이트되지 않습니까?
뷰 모델 속성을 ListBox에 바인딩하려면 어떻게 해야 합니까?선택된아이템 속성?
이 문제를 해결하기 위해 간단한 MVVM 데모를 만들었습니다.내 뷰 모델에는 다음과 같은 속성이 있습니다.
private ObservableCollection<DisneyCharacter> p_DisneyCharacters;
public ObservableCollection<DisneyCharacter> DisneyCharacters
{
get { return p_DisneyCharacters; }
set
{
p_DisneyCharacters = value;
base.FirePropertyChangedEvent("DisneyCharacters");
}
}
private DisneyCharacter p_SelectedItem;
public DisneyCharacter SelectedItem
{
get { return p_SelectedItem; }
set
{
p_SelectedItem = value;
base.FirePropertyChangedEvent("SelectedItem");
}
}
Selected를 바인드하고 싶다목록 상자에서 선택한 항목에 대한 항목 속성입니다.목록 상자의 XAML을 다음에 나타냅니다.
<ListBox ItemTemplate="{StaticResource MasterTemplate}"
ItemsSource="{Binding Path=DisneyCharacters}"
SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}"
HorizontalAlignment="Stretch" />
제 고민은 다음과 같습니다.뷰 모델 선택됨목록 상자에서 선택을 변경해도 항목 속성이 업데이트되지 않습니다.
뷰 모델을 임시로 교체하는 테스트를 수행했습니다. 선택됨[ Selected ]가 있는 항목 속성인덱스 속성을 ListBox에 바인딩했습니다.선택된인덱스 속성그 속성은 정상적으로 갱신되었습니다.그냥 Selected(선택)입니다.작업을 수행할 수 없는 아이템 자산입니다.
그러면 Selected를 수정하려면아이템 바인딩?도와주셔서 고마워요.
자, 여기 있네요. 실물만큼 크죠.XAML에서는 다음과 같은 뷰 모델 속성에 바인딩되어 있었습니다.
Selectedtem
^^
아쉽게도 실제 이름은SelectedItem
이 코드는 실제로 동작하고 있습니다.오늘 오후 일찍 문제를 해결하고 나서 오후와 저녁 내내 웹을 뒤지며 철자 오류를 알아챘습니다.
아내는 오늘 오후 3시에 나에게 말했다. "알다시피, 작은 일이 될 거야."그래서 그렇게 된 거야 편지 한 통이 없어졌어I
음, 적어도 지금은 잘 수 있잖아.
언급URL : https://stackoverflow.com/questions/1384369/mvvm-binding-to-listbox-selecteditem-isnt-being-updated
'programing' 카테고리의 다른 글
정규식과 일치하는 첫 번째 줄 뒤에 파일의 일부를 가져오는 방법 (0) | 2023.04.15 |
---|---|
파일에서 n번째 줄을 가져오는 Bash 도구 (0) | 2023.04.15 |
Bash가 다른 디렉토리 컨텍스트에서 명령을 실행하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
상단과 하단의 높이에 안전한 영역을 확보합니다. (0) | 2023.04.15 |
엑셀 워크시트를 이름으로 참조하시겠습니까? (0) | 2023.04.15 |