Я нарисовал элемент Button
, который содержит два TextBlock
s. Один с фактическим текстом, а другой с иконкой (из Symgo UI Symbol).Кнопка стиля XAML с несколькими текстовыми блоками
Это код стиля:
<Style x:Key="ButtonSettingsStyle" TargetType="Button">
<Setter Property="Content" Value=""/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<StackPanel Background="Transparent" Orientation="Horizontal" Height="60">
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
<TextBlock
x:Name="Icon"
Text=""
Margin="10,0,5,0"
Width="40"
Foreground="{TemplateBinding Foreground}"
FontSize="32"
VerticalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
FontFamily="Segoe UI Symbol"></TextBlock>
<TextBlock
x:Name="Text"
Text="{TemplateBinding Content}"
VerticalAlignment="Center"
Style="{StaticResource TextBlockListBoldItem}"
Foreground="{TemplateBinding Foreground}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Проблема:
Я также хочу Icon-TextBlock иметь собственный значок, поэтому обычай Text
-property и использовать возможно, так (я действительно не знаю, как это должно работать):
<Button Style="{StaticResource ButtonSettingsStyle}" Content="Settings" IconContent="" />
Как я могу это достичь? Content
-Сеть уже назначена на Text-TextBlock ...
Благодарим за помощь!
Не забудьте скорректированный шаблон ... – meilke
Кроме того, вам не нужен конструктор. В этом простом случае 'Button' будет делать все, что нужно. – meilke
Спасибо за предлагаемое изменение моего ответа: Но вы можете использовать '{TemplateBinding bla}' и '{Binding bla, RelativeSource = {RelativeSource TemplatedParent}}' – meilke