C#Winform向WPF过渡入门(六)

本文介绍了C# Winform开发者如何过渡到WPF,并重点讲解了控件模板的概念。控件模板不同于样式,它是UI自举的关键,允许自定义控件的内部结构和外观。通过编辑模板,可以改变控件如Button的样式。模板触发器预设了一些行为,初学者通常不需要修改。文章以一个简单的模板示例帮助读者理解模板的工作原理。
摘要由CSDN通过智能技术生成

总目录:https://www.v2know.com/MainPage/Category/WPF

什么是控件模板?

先解释一个最基本的问题,有人觉得模板和定义样式差不多,其实不然。

样式终归是样式,

模板的话,非要定义的话,就说俩字“自举”。

为啥要提到“自举”,其实XAML有人多功能都是微软工作人员帮你自举出来的。

举个例子:

你在VS里面 视图 - 其它窗口 - 找到【文档大纲】这个东西。

打开来,它是一个控件树

假设你在Grid里面写了个Button,你可以在控件树里面找到它,右击→编辑模板→编辑副本,

这样可以快速创建一个模板。(这样的方式其实就是创建了一个Style)

附源码:

<Window.Resources>
    <Style x:Key="FocusVisual">
        <Setter Property="Control.Template">
            <Setter.Value>
                <ControlTemplate>
                    <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <SolidColorBrush x:Key="Button.Static.Background" Color="#FFDDDDDD"/>
    <SolidColorBrush x:Key="Button.Static.Border" Color="#FF707070"/>
    <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/>
    <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/>
    <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FFC4E5F6"/>
    <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B"/>
    <SolidColorBrush x:Key="Button.D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值