ag旗舰厅官网_ag旗舰厅下载客户端

热门关键词: ag旗舰厅官网,ag旗舰厅下载客户端

ag旗舰厅

当前位置:ag旗舰厅官网 > ag旗舰厅 > 遇到的问题

遇到的问题

来源:http://www.pedaLyourcycLe.com 作者:ag旗舰厅官网 时间:2019-11-07 03:28

怎么是依赖项属性?(在操演使用StoryBoard传说板时,碰着的主题素材卡塔尔,storyboard故事

概述:

Windows Presentation Foundation (WPF) 提供了后生可畏组服务,那一个劳动可用于扩大公共语言运转时 (CL凯雷德) 属性的功用。那一个劳动普通统称为 WPF 属性系统。由 WPF 属性系统协助的属性称为信任项属性。

依靠项属性提供用来增添属性作用的成效, 最常用的实在“数据绑定”功效,重视项属性能够经过数据绑定来援用值。数据绑定通过一定的标记扩张语法(在 XAML 中卡塔 尔(阿拉伯语:قطر‎或 Binding 对象(在代码中卡塔 尔(英语:State of Qatar)来行事。使用数据绑定,最后属性值的显明将顺延到运转时,在运行时,将从数据源获取属性值,并可达成动态更新。

本文目标:

介绍注重属性应用项景,及自定义信任属性方法。

正文:

怎样是凭借属性

依据属性可支撑WPF中的样式设置、数据绑定、世襲、动漫及暗许值。信任项属性是透过调用 Register 方法(或 RegisterReadOnly卡塔尔国在 WPF 属性系统中登记,并透过 DependencyProperty 标记符标示属性。 正视项属性只好由一而再自 DependencyObject 类的门类应用,但 DependencyObject 在 WPF 类等级次序结构中的等第极高,因而,WPF 中的大相当多可用类都支持信赖项属性。

哪一天应贯彻依据项属性

将享有的天性都设置为依靠属性并不总是不错的实施方案,具体决意于其利用途景。有的时候,使用个人字段达成属性的出一头地形式便能满足供给。MSDN中提交了上边两种采用信任属性的情景:

  1. 期待可在体制中安装属性。

  2. 指望属性援救数据绑定。

  3. 愿意可应用动态能源援引设置属性。

  4. 期望从要素树中的父成分自动三番两次属性值。

  5. 期待属性可开展动漫处理。

6. 希望属性系统在性质系统、境遇或客户实行的操作还是读取并运用样式矫正了质量之前的值时报告。

  1. 愿意利用已创立的、WPF 进程也选取的元数据约定,比如报告校订属性值时是或不是须要布局种类再一次编写成分的可视化对象。

眼下笔者动用最多的情况是前三条,上边是二个超级的依赖属性在多少绑定上的行使场景:

分界面上有A、B多个图片,大小相像,我们要求在更动图片A大小的时候,同一时间也改成图片B的高低,让她们的大小总保持生机勃勃致。依据日常的做法我们应有如何是好?

大家必要在图片A的SizeChanged事件中加上管理图片B的主意。把图片A的Size赋给图片B。这么三个简洁明了的职能需求那样风流倜傥段代码来做是还是不是有一点繁缛,若此类供给更多,则你须要管理的风云将越来越多。

只是使用倚重属性,能够用上边三句话实现此成效:

imageB.DataContext = imageA;
imageB.SetBinding(Image.WidthProperty, "Width");
imageB.SetBinding(Image.HeightProperty, "Height");

 

哪些,够简洁吧!这段话大约的意趣就是:

1. 将ImageB的出席数据绑定期的数码上下文为ImageA,即ImageB上绑定的数额都到ImageA上找;

2. 将ImageB的宽MTK过SetBinding的方法绑定到"Width"及"Height"两性子情上。那多个属性的值在哪里找,就在ImageB的DataContext中找,在此边正是ImageA的"Width"及"Height"。

那样就将ImageA和ImageB的"Width"及"Height"绑定在后生可畏道,此中一个图形的"Width"及"Height"产生更改时,另二个图纸的Size也会相应的产生变动。

什么自定义依赖属性

 

在类上落到实处属性时,只要该类派生自 DependencyObject,便得以选取接纳DependencyProperty 标记符来标示属性,进而将其设置为依附属性。其语法如下:

public static DependencyProperty TextProperty =
       DependencyProperty.Register("Text", //属性名称
       typeof(string), //属性类型
       typeof(TestDependencyPropertyWindow), //该属性所有者,即将该属性注册到那个类上
       new PropertyMetadata("")); //属性默认值

public string Text
{
   get { return (string)GetValue(TextProperty); }
   set { SetValue(TextProperty, value); }
}

能够见见其与经常属性的重中之重差异在于:

1. 字段必需为static,且项目为DependencyProperty,字段名需据守命名约定,即后缀为Property;

2. 字段的梳洗符须设置为Public,不然在外表不可能由此SetBinding方法,绑定此属性的值;

3. 字段的值通过DependencyProperty.Register来设置,各参数的验证详见代码中的表达;

  1. 安装属性值时,通过SetValue、GetValue实际不是Set、Get。

 

因此地点的方法我们便在CustomSape类上自定义了八个信任属性“Text”,然后大家便能够像使用系统自带的依附属性同样,使用那一个天性。

 

总来讲之,注重属性是WPF的二个生死攸关特点,可以用简易的几句话,达成原本Winform完成起来分外麻烦的作用。具体如什么日期候利用信赖属性、何时使用普通属性,将在看具体的行使状态,并参考MSDN给出的7个使用途景。

转载:

概述: Windows Presentation Foundation (WPF) 提供了黄金时代组服务,那...

本文由ag旗舰厅官网发布于ag旗舰厅,转载请注明出处:遇到的问题

关键词: