首页 > 其他分享 >WPF中的视觉树(VisualTree)和逻辑树(LogicalTree)

WPF中的视觉树(VisualTree)和逻辑树(LogicalTree)

时间:2024-08-20 11:08:05浏览次数:4  
标签:逻辑 LogicalTree 可视化 视觉 WPF VisualTree

可视化树和逻辑树

我们先来理解一下什么是可视化树和逻辑树。

通俗点来说,可视化树就是在XAML中定义的或者代码添加的元素组成的树。

就像下面这样

1   <Grid>
2       <Button HorizontalAlignment="Center" VerticalAlignment="Center" Content="点击我" Click="Button_Click"></Button>
3   </Grid>

 

逻辑树就是控件模板里元素组成的树,例如Button的逻辑树如下:

 1 <ControlTemplate TargetType="Button">
 2         <Border TextBlock.Foreground="{TemplateBinding Foreground}"
 3                 x:Name="Border"
 4                 CornerRadius="2"
 5                 BorderThickness="1">
 6           <ContentPresenter Margin="2"
 7                             HorizontalAlignment="Center"
 8                             VerticalAlignment="Center"
 9                             RecognizesAccessKey="True" />
10         </Border>
11 </ControlTemplate>

 

标签:逻辑,LogicalTree,可视化,视觉,WPF,VisualTree
From: https://www.cnblogs.com/zhaotianff/p/18369044

相关文章

  • WPF Window窗体隐藏标题栏
    一、Window窗体隐藏标题栏1.当想弹出一个窗口的时候,一般会使用ShowDialog()方法,但是Page和UserControl页面没有ShowDialog()方法,那就只能用Window界面,但某些窗口不需要标题栏。使用以下代码隐藏标题栏,同时把标题栏高度设置为0。CaptionHeight属性不为0时,标题栏......
  • SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
    SimpleRAG介绍SimpleRAG是基于WPF与SemanticKernel实现的一个简单的RAG应用,可用于学习与理解如何使用SemanticKernel构建RAG应用。GitHub地址:https://github.com/Ming-jiayou/SimpleRAG主要功能AI聊天支持所有兼容OpenAI格式的大语言模型:文本嵌入支持所有兼容OpenAI格式......
  • WPF 类型转换器的实现
    1、MainWindow.xaml<Windowx:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:sys=&qu......
  • .NET+WPF 桌面快速启动工具 GeekDesk
    前言大家在平时工作中,是不是经常为了找某个文件或者应用而在电脑桌面上来回翻找?桌面图标乱七八糟,每次找东西都像在大海捞针一样。今天给大家介绍一个开源项目GeekDesk,它能够让桌面焕然一新,工作效率翻倍!GeekDesk是一个小巧、美观的桌面快速启动工具,它集成了强大的搜索功能,让我......
  • WPF 前台触发器实时获取当前时间
    1.引入命名空间xmlns:sys="clr-namespace:System;assembly=System.Runtime"2.显示时间代码<StackPanelOrientation="Horizontal"Grid.Row="1"VerticalAlignment="Center"HorizontalAlignment="Left"><TextBloc......
  • WPF 自定义顶部标题栏的实现方式
    感谢吕毅,本文主要全是他的思路,哈哈哈。我这里就是简单的做个归纳总结,不讲原理,不讲思路。主打一个拿来主义。感兴趣的朋友可以直接前往他的文章里看一下,讲的很细致,可以照着做一做。我应该是借鉴了很久了,但是一致都没有正经的整理过。本文主要是为了贯彻落实拿来就用,能跑就行这......
  • WPF事件
    鼠标输入事件必须继承FrameworkElement:UIElement鼠标事件:MouseEnterMouseLeaveMouseDownMouseUpMouseMoveMouseLeftButtonDownMouseLeftButtonUpMouseRightButtonDownMouseRightButtonUpMouseDoubleClickClick:事件:特殊<ButtonContent="MouseEvent"MouseLeftB......
  • WPF customize line with sharp arrow and direction
    //CustomizeLineArrowusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Media;usingSystem.Windows.Shapes;usingSystem.Windows;namespac......
  • WPF 集合通知更改
    集合通知更改,ObservableCollection。属性通知更改,适合单个属性,如果是多个属性的集合数据,使用ObservableCollection。 publicpartialclassButtonWindow:Window{ObservableCollection<Students>infos;publicButtonWindow(){......
  • C# WPF现代化开发:绑定、模板与动画进阶
    ......