首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF源代码分析系列一:剖析WPF模板机制的内部实现(一)

众所周知,在WPF框架中,Visual类是可以提供渲染(render)支持的最顶层的类,所有可视化元素(包括UIElement、FrameworkElment、Control等)都直接或间接继承自Visual...FrameworkElement和其子类在每次measure时都会调用这个方法,而我们知道measure和arrange是UIElement进行布局的两个重要步骤。...******* // Internal helper so the FrameworkElement could see the // ControlTemplate/DataTemplate...} // Internal helper so the FrameworkElement could see the // ControlTemplate/DataTemplate...它们在这个过程中的角色又有何不同? 为了便于理解,下面我们将按照三个模板子类,分成四篇文章来讨论(由于DataTemplate的内容较多,被分成了两篇文章)。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Silverlight的自定义tooltip提示工具条

    这种应用场景其实很多,比如游戏中装备/魔法的选择菜单,这里借用了"深蓝色右手"的一张图  再比如聊天室中的文本颜色设置  虽然sl的ToolTipService.ToolTip属性可以设置任何对象,比如下面这样...所以得换一种思路,可以借助VSM方便的实现,设置好tooltip工具条后,定义二个基本的状态:Enter ,Leave 即可,Enter状态中设置tooltip对应的对象显示,Leave状态中设置tooltip...ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="itemsTip" Storyboard.TargetProperty="(UIElement.Visibility...ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="itemsTip" Storyboard.TargetProperty="(UIElement.Visibility...Orientation="Horizontal"/> DataTemplate

    1.3K60

    《深入浅出WPF》——模板学习

    ItemControl的PanelTemplate 五、DataTemplate与ControlTemplate的关系与应用 5.1....CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本、列表、图形等多种形式立体显示。 用户体验在GUI程序设计中起着举足轻重的作用——用户界面设计成什么样子看上去才够漂亮?...~~~~ DataTemplate常用的地方有3处,分别是: ContentControl的ContentTemplate属性,相当于给ContentControl的内容穿衣服 ItemControl...ItemControl的PanelTemplate ~~~~ ItemsControl(条目控件)具有一个名为ItemsPanel的属性,它的数据类型为ItemsPanelTemplate...~~~~ 把DataTemplate应用在某个数据类型上的方法是设置DataTemplate的的DataType属性,并且DataTemplate作为资源时也不能带有x:Key标记。

    5K10

    WPF开源项目:WPF-ControlBase

    object parameter) => true; public void Execute(object parameter) { if(parameter is UIElement...自定义控件,用来直接绑定实体数据,简化开发周期 2.2 实现 绑定实体对象 通过特性显示属性名称 通过特性增加验证条件 已经实现String、Int、Double、DateTime、Bool几种简单类型的DataTemplate...中,只需绑定数据源即可实现以上功能,其中打印、导出等功能暂时没有实现 5.5.2 树形列表 a 支持按类别筛选 如上图、选择指定类型来过滤列表 b 支持按条件搜索 如上图、输入条件可以过滤指定条件 *...相对系统对话窗口更美观,增加显示和隐藏效果,通过注入的方式可以自定义按钮个数和功能 c消息列表 目前有两种模式,分别是在窗口内显示和Window系统中显示,可以根据需求自定义显示方式,示例如下 d...在线升级示例如下 e 导航菜单示例如下 f 其他功能包括 按钮控件、文本输入框控件、下拉列表控件、数字控件、日期选择控件、支持绑定的密码框控件、进度条控件、拖动控件、树形控件、分页控件以及其他自定义控件

    3.5K10

    WPF开源项目:WPF-ControlBase

    object parameter) => true; public void Execute(object parameter) { if(parameter is UIElement...自定义控件,用来直接绑定实体数据,简化开发周期 2.2 实现 绑定实体对象 通过特性显示属性名称 通过特性增加验证条件 已经实现String、Int、Double、DateTime、Bool几种简单类型的DataTemplate...中,只需绑定数据源即可实现以上功能,其中打印、导出等功能暂时没有实现 5.5.2 树形列表 a 支持按类别筛选 如上图、选择指定类型来过滤列表 b 支持按条件搜索 如上图、输入条件可以过滤指定条件 *...相对系统对话窗口更美观,增加显示和隐藏效果,通过注入的方式可以自定义按钮个数和功能 c消息列表 目前有两种模式,分别是在窗口内显示和Window系统中显示,可以根据需求自定义显示方式,示例如下 d...在线升级示例如下 e 导航菜单示例如下 f 其他功能包括 按钮控件、文本输入框控件、下拉列表控件、数字控件、日期选择控件、支持绑定的密码框控件、进度条控件、拖动控件、树形控件、分页控件以及其他自定义控件

    3.6K30

    C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧

    如果找不到类型,我们将生成一个带有适当“not found”消息的视图。 现在,回到“上下文”值。这就是CM如何支持同一ViewModel上的多个视图。...每当您使用UIElement上的View.Model attached属性进行ViewModel首次合成渲染时,都会调用定位器以查看合成的ViewModel应如何在UI中的该位置进行渲染。...如上所述,ViewModelBinder“在UI中搜索绑定/操作的候选元素列表,并将其与ViewModel的属性和方法进行比较。”...> 由于此模板创建了一个带有View.Model附加属性的ContentControl,因此我们为ItemsControl创建了丰富组合的可能性。...Text="{Binding DisplayName, Mode=TwoWay}" /> DataTemplate> 因此,对于命名的WPF TabControl,我们可以常规地在选项卡列表(ItemsSource

    2.8K20
    领券