WPF Control Group - PullRequest
       2

WPF Control Group

1 голос
/ 18 января 2011

У меня есть группа элементов управления, которые выглядят так: <<a href="http://i.stack.imgur.com/luPn2.png" rel="nofollow"> Ссылка на изображение >, которые я использую несколько раз.Это действительно простой вид списка, 3 кнопки и несколько панелей макета.

Я хочу превратить это в повторно используемый компонент, но столбцы в списке могут измениться, и источники, к которым они привязаны, изменятся.

Как мне это сделать?Я видел много сравнений между ContentTemplates и UserControls и т. д., но они никогда не кажутся работоспособными (например, Add вызовет событие, которое мне придется обработать, чтобы добавить что-то в просмотр списка, удаление вызовет событие, на котором я, вероятно, спросюесли они сначала уверены).

Я выполнил события с помощью своего собственного UserControl, но не могу передать список GridViewColumns в элемент управления.Это также означает, что я должен выставить SelectedItem и т. Д. Вручную из UserControl.Создание подклассов Listview выглядит многообещающе для настройки и доступа, но концептуально кажется неправильным иметь другие элементы управления в области просмотра списков.

Какой правильный путь?

1 Ответ

1 голос
/ 18 января 2011

Я бы определенно рекомендовал UserControl. Вы должны:

  1. Добавьте необходимые элементы управления в свой пользовательский элемент управления
  2. Добавьте требуемые свойства зависимостей в свой пользовательский элемент управления, которые позволяют настроить его, например, SelectedItem
  3. Подключите эти свойства зависимостей к различным элементам управления в вашем пользовательском элементе управления. Простой способ сделать это - установить DataContext вашего визуального дерева пользовательских элементов управления на сам пользовательский элемент управления, например, если у вас есть Grid в качестве корня для ваших пользовательских элементов управления, установите его DataContext = this в коде. Затем вы можете использовать привязки TwoWay для соединения различных свойств элемента управления со свойствами пользовательского элемента управления.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...