当前位置: 首页 > news >正文

网站建设芜湖鹤壁网站建设兼职

网站建设芜湖,鹤壁网站建设兼职,链家地产二手房网,网站平台建设的当前问题目录 第一章、简介 第二章、StaticResource静态资源 第三章、RelativeSource相对资源 3.1、例子一 3.2、例子二 第四章、DynamicResource动态资源 第五章、总结 第一章、简介 https://blog.csdn.net/litao2/article/details/55047855 本小节介绍StaticResource/ Relativ…

目录

第一章、简介

第二章、StaticResource静态资源

第三章、RelativeSource相对资源

3.1、例子一

3.2、例子二

第四章、DynamicResource动态资源

第五章、总结


第一章、简介

   https://blog.csdn.net/litao2/article/details/55047855

  本小节介绍StaticResource/ RelativeSource/ DynamicResource这几个资源的区别。

第二章、StaticResource静态资源

      StaticResource,表示静态资源,指定了路径,运行过程不改变。

{Binding Source={StaticResource ButtonStyle}

                                       

第三章、RelativeSource相对资源

参考https://blog.csdn.net/theoldsod2000/article/details/12966773

3.1、例子一

{Binding Path=PathToProperty, RelativeSource={RelativeSource TemplatedParent}}

 Self——绑定的作用域为元素本身。

TemplateParent——绑定的作用域为本元素所在模板范围 

3.2、例子二

  • source = {binding} 和source = {binding RelativeSource={RelativeSource self},Path=DataContext}效果相同。
  • {binding} 不设定明确的绑定的source,这样binding就去从本控件类为开始根据可视树的层次结构自下而上查找不为空的Datacontext属性的值。
  • {binding RelativeSource={RelativeSource self},Path=DataContext}中RelativeSource self的含义为绑定的source为控件自身,这样binding 就绑定了自身控件的Datacontext。
 <StackPanel DataContext="abc"><Label Content="{Binding}"></Label><Label Content="{Binding RelativeSource={RelativeSource Self},Path=DataContext}"/>
</StackPanel>

 <StackPanel DataContext="abc"><Label Content="{Binding}"></Label><Label DataContext="def" Content="{Binding RelativeSource={RelativeSource Self},Path=DataContext}"/>
</StackPanel>

第四章、DynamicResource动态资源

参考http://www.bubuko.com/infodetail-1754545.html

DynamicResource:动态资源,指定了路径。运行过程可以改变。

第五章、总结

https://blog.csdn.net/binbingg/article/details/10499953给出了动态与静态资源的详细区别。

静态资源引用最适合于以下情况:

  • 比如按钮Style,程序运行过程中不能切换不同的Style
  • 您的应用程序设计几乎将所有的应用程序资源集中到页或应用程序级别的资源字典中。静态资源引用不会基于运行时行为(例如重新加载页)进行重新求值,因此,根据您的资源和应用程序设计避免大量不必要的动态资源引用,这样可以提高性能。
  • 您正在设置不在 DependencyObject Freezable 上的属性的值。
  • 您正在创建将编译为 DLL 并打包为应用程序的一部分或在应用程序之间共享的资源字典。
  • 您正在为自定义控件创建一个主题,并定义在主题中使用的资源。对于这种情况,通常不需要动态资源引用查找行为,而需要静态资源引用行为,以使该查找可预测并且独立于该主题。使用动态资源引用时,即使是主题中的引用也会直到运行时才进行求值,并且在应用主题时,某个本地元素有可能会重新定义您的主题试图引用的键,并且本地元素在查找中会位于主题本身之前。如果发生该情况,主题将不会按预期方式运行。
  • 您正在使用资源来设置大量依赖项属性。依赖项属性具有由属性系统启用的有效值缓存功能,因此,如果您为可以在加载时求值的依赖项属性提供值,该依赖项属性将不必查看重新求值的表达式,并且可以返回最后一个有效值。该方法具有性能优势。
  • 您需要为所有使用者更改基础资源,或者需要通过使用 x:Shared 属性为每个使用者维护独立的可写实例。

动态资源最适合于以下情况:

  • 比如按钮Style,程序运行过程中能切换不同的Style
  • 资源的值取决于直到运行时才知道的情况。这包括系统资源,或用户可设置的资源。例如,您可以创建引用由 SystemColorsSystemFonts SystemParameters 公开的系统属性的 setter 值。这些值是真正动态的,因为它们最终来自于用户和操作系统的运行时环境。您还可以使用可以更改的应用程序级别的主题,在此情况下,页级别的资源访问还必须捕获更改。
  • 您正在为自定义控件创建或引用主题样式。
  • 您希望在应用程序生存期调整 ResourceDictionary 的内容。
  • 您有一个存在依存关系的复杂资源结构,在这种情况下,可能需要前向引用。静态资源引用不支持前向引用,但动态资源引用支持,因为资源直到运行时才需要进行求值,因此,前向引用不是一个相关概念。
  • 从编译或工作集角度来说,您引用的资源特别大,并且加载页时可能无法立即使用该资源。静态资源引用始终在加载页时从 XAML 加载;而动态资源引用直到实际使用时才会加载。
  • 您要创建的样式的 setter 值可能来自受主题或其他用户设置影响的其他值。
  • 您正在将资源应用到元素,而在应用程序生存期中可能会在逻辑树中重新设置该元素的父级。更改此父级还可能会更改资源查找范围,因此,如果您希望基于新范围对重新设置了父级的元素的资源进行重新求值,请始终使用动态资源引用。

 

 

 

http://www.yayakq.cn/news/194076/

相关文章:

  • 优化网站排名公司怎么健免费网站
  • 西安网站建设开发顺企网下载
  • 建筑行业招聘网站推荐烟台做网站的公司
  • 网站抓取QQ获取系统思明自助建站软件
  • 教育类手机网站模板下载p2f网站系统
  • 网站设计维护内容网站如何做微信推广
  • 网站查询是否安全网上电商怎么做
  • 山东鑫泰建设集团网站wordpress免邮箱验证
  • 空压机网站开发公司新媒体营销与运营
  • 网站做ppt模板下载网站seo思路
  • 襄阳文明建设投诉网站门户网站建设申请
  • 福建省建设相关网站高邑做网站
  • 从事网站建设百度优化教程
  • 新网站建设的工作总结微博推广文案范文
  • 网站做百度推广的要求黄石市网站建设
  • 动态表情包在线制作网站郑州企业网站建设兼职
  • 服饰商城网站建设响应式网站建设哪家好
  • 建筑公司网站首页装修设计 在线
  • 公司网站建设申请报告酒店网站建设考虑哪些因素
  • 计算机网站建设策划书购物网站
  • 网站设计需要会什么多国语言网站模板
  • 如何使用腾讯云建网站wordpress点击安装出现乱码
  • html5手机网站开发经验南京互联网公司前十名
  • 科技企业网站惠州网络科技有限公司
  • 网站开发公司怎么做账wordpress 投票插件
  • 商务网站建设实践实训心得做网站有流量就有收入吗
  • 网站制作咨询电话全国精品课程建设网站
  • 云南7省建设厅网站如何做发表文章的网站
  • 怎么用python做网站郑州网站建设费用
  • 外贸用什么平台自建站较好做网站的成本有多少