Свойство зависимости: как оформить - PullRequest
1 голос
/ 02 августа 2010

У меня есть 2 пользовательских элемента управления, которые не зависят друг от друга в приложении wpf.Тем не менее, у меня есть некоторые поведения, которые должны быть реплицированы в обоих элементах управления, которые похожи.

Например, когда пользователь перетаскивает перетащить на любой из этих 2 элементов управления, мне нужно более или менее одинаковое поведение для выполнения,

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

Возможно ли это, и если да, то как можно было бы разработать его?

Так в принципе, как мне совместно использовать свойство зависимости между элементами управления, а также совместно использовать некоторое поведение, когда элементы управления не зависят друг от друга?

Ответы [ 3 ]

0 голосов
/ 02 августа 2010

Использовать наследование - создайте общий базовый элемент управления, содержащий логику, которая должна быть одинаковой для обоих элементов управления, а затем в их XAML используйте что-то вроде этого:

0 голосов
/ 02 августа 2010

Или используйте Attached DependencyProperties.Объявите ваши свойства в третьем классе - вот пример того, как вы могли бы обрабатывать DoubleClicking (должно быть, почти такая же логика) - значительно упрощает повторное использование без тесной связи двух элементов управления, особенно если один из них - Panelдругие элементы ItemsControl: http://www.codeproject.com/Articles/42111/Selector-DoubleClick-Behaviour-calling-ViewModel-I.aspx

0 голосов
/ 02 августа 2010

Ну, вы могли бы унаследовать эти 2 элемента управления от своего пользовательского базового элемента управления, который имеет логику перетаскивания, которая вам нужна в обоих.Также как ListBox и ComboBox происходят от ItemsControl.Таким образом, они имеют одинаковые свойства и поведение.

Если эти два элемента управления не могут наследоваться от одного и того же элемента управления, вы можете реализовать общий интерфейс, такой как ICommandSource, который реализуется многими элементами управления.

...