Xamarin UWP пользовательский CommandBar

Я хотел бы создать собственный CommandBar для UWP-части моего проекта Xamarin.

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

Я читал, что это можно сделать так;

<Window.Resources>
    <VisualBrush x:Key="myBrush">
        <VisualBrush.Visual>
            <Grid>
                <Rectangle Fill="Red" />
                <Image Source="troll.png" />
            </Grid>
        </VisualBrush.Visual>
    </VisualBrush>
</Window.Resources>

Мне нужно добавить эту панель команд во время выполнения, например, так:

var _globalAppBar = new CommandBar();
_globalAppBar.Background = [Link  to above layout]

Вопросы:

  1. Как или где я могу добавить это в свой проект Xamarin UWP? Добавить файл XAML?

  2. Как я могу связать во время выполнения с макетом? Или есть лучший способ сделать это?

1 ответ

В идеале вы должны создать новый стиль для CommandBar и добавить его в словарь ресурсов App.xaml.

<Application.Resources>
 <Style TargetType="CommandBar">
   <Setter Property="Background">
     <Setter.Value>
      <VisualBrush>
        <VisualBrush.Visual>
          <Grid>
            <Rectangle Fill="Red" />
            <Image Source="troll.png" />
          </Grid>
        </VisualBrush.Visual>
       </VisualBrush>
     </Setter.Value>
   </Setter>
 </Style>
</Application.Resources>

поскольку у стиля нет ключа, он станет неявным стилем для CommandBar и, следовательно, будет применяться ко всем экземплярам CommandBar

Другие вопросы по тегам