Как создать базовый класс для пользовательского элемента управления? - PullRequest
1 голос
/ 22 июля 2011

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

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

Нужно ли связывание в файле xaml, чтобы базовый класс мог контролировать, что находится в файле xaml?

1 Ответ

2 голосов
/ 22 июля 2011

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

Другой вариант - использовать наследование.

например, учитывая базовый класс с именем Foo

public Foo : UserControl
{
  ...
}

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

код:

public partial Bar : Foo
{
  ...
}

XAML:

<Foo  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
  <Grid >
  </Grid>
</Foo>

(Обратите внимание на использование базового класса вместо UserControl в Xaml.)

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