Làm cách nào để liên kết thuộc tính mô hình chế độ xem với thuộc tính ListBox.SelectedItem?MVVM: Liên kết với ListBox.SelectedItem?
Tôi đã tạo bản trình diễn MVVM đơn giản để cố gắng tìm hiểu điều này. Mô hình chế độ xem của tôi có các thuộc tính sau:
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");
}
}
Tôi muốn liên kết thuộc tính SelectedItem với mục được chọn trong hộp danh sách. Đây là XAML cho hộp danh sách:
<ListBox ItemTemplate="{StaticResource MasterTemplate}"
ItemsSource="{Binding Path=DisneyCharacters}"
SelectedItem="{Binding Path=Selectedtem, Mode=TwoWay}"
HorizontalAlignment="Stretch" />
Đây là vấn đề của tôi: Thuộc tính SelectedItem xem không được cập nhật khi tôi thay đổi lựa chọn trong hộp danh sách.
Tôi đã thử nghiệm nơi tôi tạm thời thay thế thuộc tính SelectedItem của mô hình chế độ xem bằng thuộc tính SelectedIndex và tôi ràng buộc thuộc tính ListBox.SelectedIndex. Tài sản đó được cập nhật tốt - nó chỉ là thuộc tính SelectedItem mà tôi không thể làm việc được.
Vì vậy, làm cách nào để khắc phục ràng buộc SelectedItem? Cảm ơn bạn đã giúp đỡ.
Ví dụ về cách sử dụng hộp danh sách trong MVVM. Cảm ơn – MrPurpleStreak