NscollectionView, Как отправить представление Veart в код двойного щелчка?

StackOverflow https://stackoverflow.com//questions/22007675

Вопрос

Я использую привязки в первый раз в основном хранилище данных с одним соотношением на моих объектах, я показываю подпункты с помощью NscolliveView, который показывает изображение и заголовок.

Объекты:

Subitems Array Controller (NSArrayController)
Collection View Item (NSCollectionViewItem)
.

элементы управления:

NSCollectionView
NSView (for the item)
   NSImageView
   NSTextField
.

Я обвернул NSImageView, чтобы собрать элемент представления с моделей ключевой путь в виде представления ContedObject.ImagePath и целесообразным трансформатором.Это все хорошо работает.

То, что я хочу сделать, это обнаруживает двойной щелчок по элементу в коде и получить доступ к представленному элементу PrestedObject в двойном щелчке.

Я пытался подкласс nsimageView и переопределить событие мыши для события клики, который работал, но тогда я не мог получить доступ отсюда до контекста ManagedObject и выбранный объект.Я не уверен, как сделать это правильным образом.

Спасибо за любую помощь, я понимаю, что это базовые вещи, и я должен делать что-то неправильное с помощью привязки.

Это было полезно?

Решение

Реализуйте подкласс для вашей коллекции Посмотреть элемент, скажем, CustomCollectionViewItem и измените класс элемента поставки коллекции в IB.

Подкласс You NsimageView Кроме того, в этом классе обрабатывают двойной щелчок.Создайте слабый эталонный объект делегата и свяжите этот делегат для вашего CustomCollectionViewItem в IB.

Теперь, когда вы дважды щелкните, попросите делегата позвонить любому методу CustomCollectionViewItem и в CustomCollectionViewItem у вас есть доступ к представленному номеру.

Теперь проблема заключается в том, как дальнейшее передайте это на фактический класс контроллера.Вам необходимо снова создать слабый эталонный делегат в CustomCollectionViewItem и связывают этот делегат к классу главного контроллера в IB.

Так, когда CustomCollectionViewItem принимает вызов из подкласса NSImageView, затем вызовите метод главного контроллера и пропустите представленную компанию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top