Глобальная конструкция XAML - PullRequest
0 голосов
/ 17 апреля 2020

Мне нужна панель (кнопки, изображения) в верхней части окна. У меня 5 разных windows. В 3 из них я хочу добавить бар. Вместо того, чтобы заменять мои 3 XAML-файла изменением, я хочу иметь только одно место Как мне этого добиться?

Моя конструкция "Бар":

<StackPanel>
  <Button></Button>
  ...
</StackPanel>

Файл XAML:

<Window>
  <Grid>

    ...

    <!-- add here my "Bar" construct -->

    ...

  </Grid>
</Window>

1 Ответ

1 голос
/ 17 апреля 2020

Это то, для чего вы обычно используете UserControl. Создайте UserControl с именем что-то вроде «MyBarControl» и переместите StackPanel, который определяет фактическую панель там:

<UserControl ...>
    <StackPanel>
        <Button></Button>
        ...
    </StackPanel>

Затем вставьте UserControl как элемент в окно, где вы хотите отобразить bar:

<Window>
    <Grid>

        ...

        <!-- add here my "Bar" construct -->
        <local:MyBarControl />
        ...

    </Grid>
</Window>

Используя этот подход, вы можете повторно использовать один и тот же UserControl в нескольких различных windows и других представлениях.

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