您的位置:首页 > 娱乐 > 明星 > 2345实用查询_广州新冠疫情最新公布_网上怎么做推广_潮州seo

2345实用查询_广州新冠疫情最新公布_网上怎么做推广_潮州seo

2024/12/23 6:35:28 来源:https://blog.csdn.net/sudazf/article/details/144561784  浏览:    关键词:2345实用查询_广州新冠疫情最新公布_网上怎么做推广_潮州seo
2345实用查询_广州新冠疫情最新公布_网上怎么做推广_潮州seo

区别于 DataTemplate 数据模板,ControlTemplate 是控件模板,是为自定义控件的 Template 属性服务的,Template 属性类型就是 ControlTemplate。

演示,

自定义一个控件 MyControl,包含一个字符串类型的依赖属性。

public class MyControl : Control
{/// <summary>/// 获取或设置MyProperty的值/// </summary>  public string MyProperty{get => (string)GetValue(MyPropertyProperty);set => SetValue(MyPropertyProperty, value);}/// <summary>/// 标识 MyProperty 依赖属性。/// </summary>public static readonly DependencyProperty MyPropertyProperty =DependencyProperty.Register(nameof(MyProperty), typeof(string), typeof(MyControl), new PropertyMetadata(default(string)));static MyControl(){DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl), new FrameworkPropertyMetadata(typeof(MyControl)));}
}

前端样式中设置一下 Template 属性,它的值即 ControlTemplate,

<UserControl.Resources><Style TargetType="{x:Type local:MyControl}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type local:MyControl}"><Grid Background="DeepPink"><TextBlockHorizontalAlignment="Center"VerticalAlignment="Center"Text="{TemplateBinding MyProperty}" /></Grid></ControlTemplate></Setter.Value></Setter></Style></UserControl.Resources>

使用这个自定义控件,设置其 MyProperty 属性值,

<local:MyControlWidth="200"Height="40"MyProperty="我是自定义控件~" />

显示效果,
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com