Я знаю, что должен быть легкий ответ на это, но я не могу его найти.
У меня есть стиль кнопки под названием Hoverbutton
.
<Style x:Key="HoverButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border>
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="Background" Value="WhiteSmoke"/>
<Setter Property="Foreground" Value="DarkRed"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Background" Value="Transparent"/>
</Style>
Затем я хочу создать еще один «производный» стиль, который основан на Hoverbutton
с определенным содержанием. Я сократил сложность вышеуказанного стиля здесь, но это достаточно сложно, чтобы я не хочу копировать и вставлять его.
<Style x:Key="CloseButton" BasedOn="{StaticResource HoverButton}" TargetType="{x:Type Button}">
<Setter Property="Content">
<Setter.Value>
<Path Width="8" Height="8" Stroke="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType=Button}}" Data="M0,0 L8,8 M8,0 L0,8" StrokeThickness="2" />
</Setter.Value>
</Setter>
</Style>
Это не работает - «Указанный элемент уже является логическим ребенком другого элемента. Отключить его первым». Похоже, мне нужно переопределить шаблон
свойство производного стиля, но как-то ссылается на шаблон базового стиля.
Любые идеи?