У меня есть значок пути 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 = ""
FontFamily = "Segoe MDL2 Assets"
Foreground = "DarkGreen"
Style = "{StaticResource IconButtonStyle}"
ToolTipService.ToolTip = "Add node under selected node." />
К сожалению, я не вижу свойства ImageTemplate или другого свойства в элементе управления «Кнопка», которое принимает DataTemplate. Есть ли способ?





Кнопка является производной от 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>
@EABagby Тебе это подходит?
@Ax1le Извиняюсь, мой жесткий диск умер в понедельник, и мне пришлось с этим разобраться. Да, это сработало отлично. Спасибо.
Поэтому мне не нужно размещать объекты в свойстве Content, буквально заключая их в
<Content></Content>, что я и пробовал. Я просто добавляю контент по пути, как вы показываете. Я попробую это в понедельник и проголосую за, если это сработает.