首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我使用ControlTemplate,选中时WPF ToggleButton消失

如果我使用ControlTemplate,选中时WPF ToggleButton消失
EN

Stack Overflow用户
提问于 2020-06-07 23:06:28
回答 1查看 62关注 0票数 0

我遗漏了一些东西,但我不明白是什么:

如果我这样做:

代码语言:javascript
运行
复制
<ToggleButton Content="&#xEC92;" FontFamily="Segoe MDL2 Assets" />

按钮

按下后会发生这样的变化

但如果我使用模板更改它,它就会消失:

代码语言:javascript
运行
复制
<ToggleButton>
    <ToggleButton.Template>
        <ControlTemplate>
            <TextBlock Style="{StaticResource LargeIconStyle}" Text="&#xEC92;"/>
        </ControlTemplate>
    </ToggleButton.Template>
</ToggleButton>

检查前:

检查后:

我不明白原因何在。你能帮帮我吗?选中按钮的颜色是系统按钮的颜色。

这些样式仅供您参考:

代码语言:javascript
运行
复制
<Style
    x:Key="LargeIconStyle"
    BasedOn="{StaticResource BaseIconStyle}"
    TargetType="{x:Type TextBlock}">
    <Setter Property="FontSize" Value="32" />
</Style>

<Style x:Key="BaseIconStyle" TargetType="{x:Type TextBlock}">
    <Setter Property="FontFamily" Value="Segoe MDL2 Assets" />
    <Setter Property="HorizontalAlignment" Value="Center" />
    <Setter Property="VerticalAlignment" Value="Center" />
    <Setter Property="TextAlignment" Value="Center" />
</Style>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 10:24:39

问题是您使用的是ControlTemplateTemplate属性。它们用于控件的UI和功能。所以从本质上讲,你是在把你的控件变成一个TextBlock

相反,您希望使用DataTemplateContentTemplate属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62247325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档