Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在WPF中获得可视化的呈现大小?

如何在WPF中获得可视化的呈现大小?
EN

Stack Overflow用户
提问于 2017-11-02 08:37:41
回答 1查看 564关注 0票数 2

我遇到了一种情况,我需要在WPF上获得可视化元素的呈现大小。我的意思是,我需要获得视觉空间上的某些东西所消耗的空间,比如一个应用了ButtonDropShadowEffect,而不仅仅是ActualWidthActualHeight属性的值。

作为一个例子,请考虑以下场景:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Button Width="100" Height="100">
    <Button.Effect>
        <DropShadowEffect BlurRadius="10" ShadowDepth="0"/>
    </Button.Effect>
</Button>

如您所见,该按钮的大小为100x100,但由于它有一个模糊半径为10的下降阴影,因此它需要120x120的呈现空间。

如何在WPF中获得此按钮的呈现大小( 120x120)?

StackOverflow上已经有了另一个类似的问题,但没有得到确切的答案。所以我要问这个问题。

关于我想要达到的目标的更多细节

我需要这样做的情况如下:

我需要将自定义窗口的可视框架扩展到窗口边界之外。为了达到这个目的,我在实际窗口的边界周围使用了另外4个相邻的窗口。在每一个相邻的窗口中,我都会显示一个VisualBrush,它会显示在窗口之外的内容(就像一个下拉阴影),就像在一个正常的控件上一样。但是,要知道适用于每个相邻窗口的确切大小,并使VisualBrush的内容与主窗口内容一致,我至少需要知道内容的大小和位置。

也许还有另外一种方法来实现这一点..。

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 09:06:44

我可以找到的方法是使用VisualTreeHelper.GetEffect方法,获取与可视化相关的效果,然后根据附加效果的类型进行一些手动计算。

https://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.geteffect(v=vs.110).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47080354

复制
相关文章
WPF 如何在静态资源定义字体大小
默认的 WPF 的字体大小的单位是像素,如果想要将字体大小使用 pt 点表示,写在 xaml 里面是直接添加 pt 后缀。但是此时如果在静态资源尝试定义的时候写上了 pt 将会在运行的时候提示无法转换
林德熙
2020/04/26
6240
WPF 如何在静态资源定义字体大小
java中获得文件大小代码
  根据指定文件创建FileInputStream,调用available方法返回文件大小,容量为byte                 File file = new File("d:\hello.gif");                 FileInputStream fis = null;                 try{                     fis = new FileInputStream(file);                       Syst
闵开慧
2018/03/30
1K0
如何在PPT中呈现高大上的数据仪表盘
在上数据化薪酬建模与分析课程的时候,我们会对薪酬建立数据仪表盘,通过数据仪表盘的形式来对薪酬的关键指标进行数据的交互,来进行数据分析,很多同学在完成了薪酬的数据仪表盘后都会提出一个问题,就是我们做的数据仪表盘能不能在PPT中呈现进行数据的交互,因为我们在很多时候在做工作汇报的时候都是以PPT的形式来呈现的。
王佩军
2022/04/06
2.2K0
如何在PPT中呈现高大上的数据仪表盘
WPF 调试 获得追踪输出
在 WPF 开发中,如果把一个程序发布出去,但是发现有些地方诡异,除了看日志外,如果需要拿到程序实时的输出,可以使用跟踪输出 ,本文告诉大家如何拿到 WPF 的跟踪输出。
林德熙
2022/08/04
6440
如何在 Linux 中查看目录大小?
这是一篇关于如何通过一些常用的命令,显示 CentOS 或 RedHat 中的 Linux 目录大小,以及哪些文件夹占用的空间最大的教程。
章鱼猫先生
2021/10/15
13.1K0
如何在 Linux 中查看目录大小?
WPF 调试 获得追踪输出
在 WPF 开发中,如果把一个程序发布出去,但是发现有些地方诡异,除了看日志外,如果需要拿到程序实时的输出,可以使用跟踪输出 ,本文告诉大家如何拿到 WPF 的跟踪输出。
林德熙
2018/09/18
1.9K0
WPF 调试 获得追踪输出
WPF窗体中控件移动 + 拖拽大小 + 动画拖动
废话不多直接上菜 image.png 下载.gif /* 注意:只要不带焦点的控件包括用户控件 都可以拖动与拖拽大小 【基类中的【公共参数】可以自行修改哦】 使用方法[这是在一个窗体的后台代码]: //实例化对象 public DragControlsHelper dragControlsHelper = new DragControlsHelper(); //执行以下方法就可以拖拽了[this属于窗体的
Shunnet
2022/05/31
2K0
WPF窗体中控件移动 + 拖拽大小 + 动画拖动
使用Python,怎么获得文件的大小?
如果你要通过自动化的方式,找到系统中文件大小小于1M的文件或者其他大小的文件,那么今天分享的内容,就可以帮到你。以下就是获得文件大小的程序。
TalkPython
2020/12/29
1K0
WPF 可获得焦点属性
本文来告诉大家 WPF 的可获得焦点属性,如果希望一个元素可以获得键盘输入,那么就需要一个元素是可以获得焦点,而且焦点就在元素上。
林德熙
2022/08/04
1.4K0
【NEW】WPF窗体中控件移动 + 拖拽大小 + 动画拖动
在之前写了WPF窗体中控件移动 + 拖拽大小 + 动画拖动,但是只能在Canvas容器布局中使用 现在,新增可以在GRID中可以动画拖动了 【GRID中实现动画效果】 下载 (1).gif 【Canvas实现动画效果】 下载 (2).gif 上菜【一定要给需要动态拖动的控件设置宽高】 /* 注意:只要不带焦点的控件包括用户控件 都可以拖动与拖拽大小 【基类中的【公共参数】可以自行修改哦】 使用方法[这是在一个窗体的后台代码]: //实例化对象
Shunnet
2022/06/09
2.3K1
【NEW】WPF窗体中控件移动 + 拖拽大小 + 动画拖动
wpf PreviewTextInput 在鼠标输入获得 
我的小伙伴在写一个功能,需要获得输入的时候,判断是键盘输入或鼠标输入,通过 PreviewTextInput 获得键盘输入就做一些输出。 但是他发现,在使用鼠标书写的时候,获得 PreviewTextInput ,而且值是 \u0003 ,他换了一个电脑就好了。
林德熙
2018/09/18
9720
WPF 可获得焦点属性
本文来告诉大家 WPF 的可获得焦点属性,如果希望一个元素可以获得键盘输入,那么就需要一个元素是可以获得焦点,而且焦点就在元素上。
林德熙
2018/09/19
4.5K1
WPF 可获得焦点属性
wpf 控件大小随窗体大小改变而改变
WPF可以直接通过设置图形类控件的水平和垂直Alighment为Stretch实现 用一个ViewBox装上所有的Window内容然后当window缩放时就可以一起放大缩小了 ViewBox的显示机制是,先在内存中把按照逻辑大小把子控件显示出来,然后等比例的缩放显示到ViewBox的客户区 例: Button btn = new Button(); btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; btn.Vertic
hbbliyong
2018/03/06
3.3K0
WPF 自定义 TextBoxView 的 Margin 大小
在 WPF 的 TextBox 里有 TextBoxView 用来渲染 TextBox 内容,但是在 TextBox 里面的 TextBoxView 是不能直接设置而且默认的 Margin 是 2,0,2,0 如何自定义这个值
林德熙
2019/03/13
1.4K0
WPF 自定义 TextBoxView 的 Margin 大小
WPF 自定义 TextBoxView 的 Margin 大小
在 WPF 的 TextBox 里有 TextBoxView 用来渲染 TextBox 内容,但是在 TextBox 里面的 TextBoxView 是不能直接设置而且默认的 Margin 是 2,0,2,0 如何自定义这个值
林德熙
2022/08/04
5920
WPF 自定义 TextBoxView 的 Margin 大小
如何在深度学习竞赛中获得前五名
本文中的所有代码都在GitHub Repository上。数据集已经在适当的文件夹中,并且代码可以运行(在安装PyTorch之后)。
代码医生工作室
2020/04/20
7860
WPF 获得触摸精度和触摸点
使用 Tablet.TabletDevices 可以获得所有的触摸设备,获得触摸点数可以通过下面代码
林德熙
2018/09/18
9290
WPF 获得触摸精度和触摸点
使用 Tablet.TabletDevices 可以获得所有的触摸设备,获得触摸点数可以通过下面代码
林德熙
2022/08/04
6900
赛后跟踪:如何在 ImageNet 比赛中获得冠军?
近两个月,国内团队先后在全球权威的人脸检测评测平台 FDDB 和全球自动驾驶算法公开排行榜 KITTI 以及 Cityscapes 上取得非常好的成绩,这在一定程度上证明了国内计算机视觉相关算法已达到国际顶尖水平。 今年 ILSVRC 2016(全称是ImageNet Large Scale Visual Recognition Challenge)分为五大部分,包括:目标检测、目标定位、视频中目标物体检测、场景分类、场景分析。在昨天,全球最为权威的计算机视觉大赛 ILSVRC2016(大规模图像识别竞赛)
AI科技评论
2018/03/08
1.5K0
赛后跟踪:如何在 ImageNet 比赛中获得冠军?
点击加载更多

相似问题

在WPF中,如何在控件实际呈现之前获得其呈现的大小?

11

WPF中的ScaleTransform呈现错误的大小。

12

在图像控件WPF中显示UIelement(可视化)的呈现图像

10

如何在自定义WPF控件(如线条图)中呈现动态数据?

14

如何在SwiftUI中获得呈现的实际视图大小和位置?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文