这不是很好笑吗?因为当您将 light dismiss 设置为 false 时它会起作用。
原因在这里:https ://github.com/microsoft/microsoft-ui-xaml/blob/master/dev/TeachingTip/TeachingTip.xaml#L32
看到LightDismiss
状态它强制主题值。
因此,您需要复制和编辑该样式以尊重 TemplateBinding(您在控件上设置的红色)
<VisualState x:Name="LightDismiss">
<VisualState.Setters>
<Setter Target="TailEdgeBorder.Background" Value="{Binding Background,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Target="TailPolygon.Fill" Value="{Binding Background,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Target="TopTailPolygonHighlight.Fill" Value="{Binding Background,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Target="ContentRootGrid.Background" Value="{Binding Background,RelativeSource={RelativeSource TemplatedParent}}"/>
</VisualState.Setters>
</VisualState>
我让您更轻松,并App.xaml
通过一些命名空间编辑等共享完整文件:
https://pastebin.com/QgPpqMKS
只需更改 x:class,我的是 App9。另请注意,我用 CornerRadius 注释了该行,因为它会引发一些错误 (??)。
还可以为您的教学提示添加风格:
<winui:TeachingTip x:Name="ToggleThemeTeachingTip2"
Title="Change themes without hassle"
Subtitle="It's easier than ever to see control samples in both light and dark theme!"
PreferredPlacement="Auto"
PlacementMargin="20"
IsLightDismissEnabled="True"
Style="{StaticResource MyTeachingTipStyle}"
Background="Red"
>