Đây là tình hình ban đầu:WPF ComboBox: Wrong Item được hiển thị
XAML:
<ComboBox Grid.Row="0"
Grid.Column="1"
Margin="0,3"
HorizontalAlignment="Stretch"
DisplayMemberPath="DisplayText"
ItemsSource="{Binding ObjectSource}" />
ViewModel:
public Collection<MyObjects> ObjectSource
{
get
{
return this.objectSource;
}
set
{
this.SetProperty(ref this.objectSource, value);
}
}
Đối tượng My chứa tên (string), có hiệu lực từ (dateTime) và một displayText (chuỗi chỉ nhận được) kết hợp tên và hợp lệ để hiển thị.
Trong tình huống dễ dàng này, tôi có thể mở hộp tổ hợp xem tất cả các mục nhập, sau khi chọn nó cũng hiển thị đúng displaytext bên trong combobox. Bây giờ tôi mở lại vùng thả xuống và chọn một mục khác. Kết quả là mục bị cắt chuyển sang (vì bạn có thể thấy mục được đánh dấu cao khi mở lại mục thả xuống). Nhưng mục được hiển thị bên trong combobox không thay đổi, vẫn còn DisplayText của lựa chọn đầu tiên.
Hiện ai có một ý tưởng cho tôi lý do tại sao các combobox không cập nhật? Cảm ơn trước
Chỉnh sửa: Cảm ơn tất cả vì sự giúp đỡ của họ. Vấn đề là một sự ghi đè lỗi của Equals.
bạn có ghi đè Bằng không? – blindmeis
tôi đã kiểm tra vấn đề của bạn nhưng trong trường hợp của tôi tất cả mọi thứ chỉ làm việc tốt .. có thể là một vấn đề mà bằng cách nào đó combobox của bạn là nhận được làm mới hoặc nó có thể là bộ sưu tập của bạn .. chỉ cần kiểm tra nó bằng cách sử dụng điểm break .. – loop
hoàn toàn mọi điều đang hoạt động tốt trên hệ thống của tôi. – Betty