Использование значка пути XAML в качестве изображения кнопки в WinUI 3

У меня есть значок пути XAML, как показано ниже:

<DataTemplate x:Key = "Folder">
    <Grid>
        <Path Data = "M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z" 
              Stretch = "Uniform" Fill = "Goldenrod" Width = "20" Height = "20" Margin = "0,0,0,0" RenderTransformOrigin = "0.5,0.5">
            <Path.RenderTransform>
                <TransformGroup>
                    <TransformGroup.Children>
                        <RotateTransform Angle = "0" />
                        <ScaleTransform ScaleX = ".8" ScaleY = ".8" />
                    </TransformGroup.Children>
                </TransformGroup>
            </Path.RenderTransform>
        </Path>
    </Grid>
</DataTemplate>

Я бы предпочел использовать этот значок вместо значка Segoe MDL2 Assets на моей кнопке ниже. Обычно я предпочитаю значки путей XAML и хочу использовать их там, где это возможно.

                <Button
                    x:Name = "CB_AddNode"
                    Content = "&#xF12B;"
                    FontFamily = "Segoe MDL2 Assets"
                    Foreground = "DarkGreen"
                    Style = "{StaticResource IconButtonStyle}"
                    ToolTipService.ToolTip = "Add node under selected node." />

К сожалению, я не вижу свойства ImageTemplate или другого свойства в элементе управления «Кнопка», которое принимает DataTemplate. Есть ли способ?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кнопка является производной от ContentControl, что означает, что она поддерживает одного дочернего элемента через свое свойство Content, которое является ее свойством по умолчанию. В вашем случае вы можете просто написать:

<Button x:Name = "CB_AddNode"
        Foreground = "DarkGreen"
        ToolTipService.ToolTip = "Add node under selected node.">

    <Path Data = "M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"
          Stretch = "Uniform"
          Fill = "Goldenrod"
          Width = "20"
          Height = "20"
          Margin = "0,0,0,0"
          RenderTransformOrigin = "0.5,0.5">
        <Path.RenderTransform>
            <TransformGroup>
                <TransformGroup.Children>
                    <RotateTransform Angle = "0" />
                    <ScaleTransform ScaleX = ".8"
                                    ScaleY = ".8" />
                </TransformGroup.Children>
            </TransformGroup>
        </Path.RenderTransform>
    </Path>

</Button>

Поэтому мне не нужно размещать объекты в свойстве Content, буквально заключая их в <Content></Content>, что я и пробовал. Я просто добавляю контент по пути, как вы показываете. Я попробую это в понедельник и проголосую за, если это сработает.

E. A. Bagby 13.07.2024 17:52

@EABagby Тебе это подходит?

Ax1le 17.07.2024 09:45

@Ax1le Извиняюсь, мой жесткий диск умер в понедельник, и мне пришлось с этим разобраться. Да, это сработало отлично. Спасибо.

E. A. Bagby 17.07.2024 19:07

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