Повторное использование кнопок в WPF - PullRequest
0 голосов
/ 30 марта 2010

У меня есть несколько разных объектов, которые обычно редактируются в одном и том же TabControl с использованием разных DataTemplates, но я хочу, чтобы каждый DataTemplate имел общий вид с кнопками Ok и Cancel в правом нижнем углу каждой вкладки, которые закрывают или сохраните содержимое, а затем закройте выбранную вкладку. Какой лучший способ разместить кнопки на каждой вкладке? Есть ли способ сделать это без копирования и вставки кнопок и панели стека во все мои шаблоны данных?

Ответы [ 3 ]

1 голос
/ 30 марта 2010

Конечно, вы можете создать свой собственный OkCancelSaveControl. В WPF создать «пользовательский элемент управления» гораздо проще, чем кажется. Вот учебник . В двух словах, вы

  1. создать новый пользовательский элемент управления,
  2. создать свойства в пользовательском элементе управления, которые предоставляют вашему элементу управления информацию, необходимую для выполнения своих обязанностей (например, вкладку, которую он должен закрыть, или объект данных, который он должен сохранить),
  3. при необходимости создайте события, которые вызывает пользовательский элемент управления (OkClick), в случае, если для какой-либо вкладки требуется особая обработка.
0 голосов
/ 30 марта 2010

Я бы сделал пользовательский элемент управления, давайте назовем его MyCoolTabItem, который наследуется от класса TabItem, и просто добавлю ваши кнопки в элемент управления. Затем просто добавьте MyCoolTabItem вместо TabItem во все ваши TabControls, и на нем будут все ваши кнопки.

0 голосов
/ 30 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...