WPF: пользовательское окно - PullRequest
8 голосов
/ 19 января 2009

Есть много статей, в которых описано, как создать собственное окно в WPF, но ни в одной из них (по крайней мере, я не могу найти) описано, как можно создать одноразовое окно, например наследовать его в других окнах.

Я попытался создать шаблон ControlTemplate из своего пользовательского окна. Проблема заключается в кнопке Close и методе MoveDrag ().

Если я связываю событие с одним из моих других элементов управления в ControlTemplate, их свойство Parent становится пустым, поэтому я не могу перетащить или закрыть окно.

У кого-нибудь есть идеи, как я могу создать повторно используемый шаблон окна или что-то подобное?

Ответы [ 2 ]

2 голосов
/ 30 января 2009

К сожалению, в WPF нет таких вещей, как визуальное наследование. (без наследования xaml, чтобы быть более конкретным)

Для вашей конкретной проблемы вместо наследования вы можете создать CustomForm в качестве шаблона (с большим пустым контейнером посередине), а затем создать все остальные формы в виде пользовательских контролей, которые заполняют этот контейнер.

0 голосов
/ 28 января 2009

Следующий объект вернет объект окна, содержащий элемент управления:

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