【问题标题】:How to set the CornerRadius of a UWP TextBox without copying and updating the whole default TextBox style?如何在不复制和更新整个默认 TextBox 样式的情况下设置 UWP TextBox 的 CornerRadius?
【发布时间】:2018-11-12 14:03:19
【问题描述】:

我可以从there复制默认样式并修改它以设置边框的CornerRadius

但是,我觉得它很重。难道没有办法告诉我的TextBox 使用ControlTemplate 从默认的“只是”一个属性更改的情况下派生?

【问题讨论】:

    标签: xaml uwp


    【解决方案1】:

    这个想法很容易理解,比如说在定义一个新的Style 时,它可以是based on 另一个Style,并覆盖了一些属性。这很适合 OO 中的继承场景。

    但是ControlTemplate 没有“基础ControlTemplate”之类的东西,因为ControlTemplate 并不是真正可以覆盖的一组属性/行为,ControlTemplate 是一个完整的实体,由不同的模板组成部分。以 OO 类比,它就像一个类,不公开任何虚拟方法供您覆盖。

    因此,您必须对原始模板的整个副本进行编辑。

    【讨论】:

    • 但是我如何从默认样式中派生出来,因为它似乎没有名称可供参考?
    • 当你定义一个从默认样式派生的新样式时,你不需要参考默认样式,对吧?它具有默认样式中的所有默认值。
    猜你喜欢
    • 2015-09-05
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多