2010-11-02 27 views
5

Tôi muốn một tài sản cho mục hiện tại của ICollectionView làm cách nào tôi có thể làm điều đó? Các ICollectionView được sử dụng để ràng buộc với một hộp combo, làm thế nào tôi có thể ràng buộc một điều khiển khác với mục đã chọn của ICollectionView?Cách liên kết với CurrentItem của ICollectionView

Trả lời

8

Kiểm tra điều này cheat sheet. Cụ thể, hãy xem biểu tượng ràng buộc /, tham chiếu đến mục hiện tại trong chế độ xem bộ sưu tập.

+0

Điều đó thật tuyệt, tôi nhận thấy rằng nếu tôi thay đổi mục hiện tại trên nguồn xem, giá trị không cập nhật. Tôi có cần một tài sản phụ thuộc cho việc này không? Hoặc có lẽ cho điều này, tôi nên sử dụng phương pháp của @ Rachel? –

+1

@jiewmeng, xem câu trả lời của John; bạn sẽ muốn sử dụng IsSynchronizedWithCurrentItem. –

2

Đặt tên cho ComboBox của bạn và liên kết với nó là SelectedItem.

Ví dụ:

<ComboBox x:Name="MyComboBox" ItemsSource="{Binding MyList}" /> 

<Grid DataContext={Binding ElementName=MyComboBox, Path=SelectedItem> 
... 
</Grid> 
6

Thiết IsSynchronizedWithCurrentItem trên ComboBox sẽ cập nhật các mục hiện hành với lựa chọn của mình (không chắc chắn nếu bạn đã làm điều này). Sau đó, bạn có thể liên kết cùng một bộ sưu tập và truy cập mục hiện tại của nó bằng cách ràng buộc:

<ComboBox ItemsSource="{Binding Names}" IsSynchronizedWithCurrentItem="True" /> 
<Button Content="{Binding Path=Names/}"/> 
Các vấn đề liên quan