- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 WPF 应用程序中有时会显示一个窗口。当它显示时,它会淡入动画,而当它关闭时,它会淡出。没什么特别的,只是一个修改不透明度的 Storyboard。实际上窗口从来没有真正关闭过,不透明度只是淡出到 0,直到它再次显示。
此窗口是一个信息窗口,并不总是显示相同的内容。它的大小适合内容(宽度和高度),并且在这方面效果很好。用户选择要显示的屏幕基本区域(TopLeft、TopRight、Center、BottomLeft、BottomRight)。
在窗口淡入之前更新内容。因为窗口的大小是根据内容来增加或减小的。宽度和高度可以改变。
当定位窗口时,比方说,在右下角,我简单地获取屏幕的 WorkingArea(宽度和高度)然后减去窗口的宽度/高度以获得我需要的顶部和左侧位置.
逻辑有效,但我遇到的问题是窗口的高度和宽度没有返回内容更新后的大小,而是返回上次显示时的大小。我假设这是因为它尚未使用新内容呈现。
这让我很伤心,因为如果窗口比上次明显超出屏幕时更大。
我尝试在 OnContentRendered 事件中定位窗口,但这只会在创建窗口时触发一次,而不是在内容更新后,当不透明度设置为 0 时。
有谁知道我如何在淡入之前获得该窗口的准确宽度和高度?
如有任何帮助,我们将不胜感激!
最佳答案
我找到了我自己问题的答案。更新内容后,只需调用窗口的 UpdateLayout() 方法即可强制进行更新。调用宽度和高度然后返回准确值。
关于c# - 在渲染之前确定 SizeToContent WPF 窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144214/
我举了一个简单的例子。有一个工具窗口。它以网格为内容,具有三个区域。第一个区域是带有一些文本的文本框,第二个是标签,第三个是另一个文本框。 Grid的行高分别为:“*”、“30”、“*”。对于窗口,我
每当我尝试创建一个窗口并将 SizeToContent 设置为 WidthAndHeight 时,打开窗口时会根据其内容正确调整大小,但它会在右边和底部。在调整大小时,这个问题消失了,当使用设置的高度
我有一个 WPF 窗口,由于 SizeToContent="WidthAndHeight",它会随着时间的推移改变其大小。最初 WindowStartupLocation="CenterScreen"
当使用下面的 XAML 时,窗口大小不是 5000x5000,而是按钮被裁剪的一些小窗口。 XXX 据我所知,大小我没有指定 SizeToContent 属性,默认是“手动”,所以它将使用
事实上,UserControl 缺少我们在 Window 中拥有的属性“SizeToContent”。 所以问题是: 在 UserControl 上模拟 SizeToContent=WidthAndH
是否可以以某种方式限制 Window.SizeToContent仅扩大尺寸? 我有一个通用窗口,动态填充 TabControl 中的内容。由于一开始并不知道每个 TabItem 将有多大,所以我无法预
我有一个包含三个不同控件的网格,两个是组框,第三个是 TreeView 。我不知道初始宽度,所以 Window.SizeToContent 设置为“宽度”一切都完美地适合窗口,当我从 TreeView
我的 WPF 应用程序中有时会显示一个窗口。当它显示时,它会淡入动画,而当它关闭时,它会淡出。没什么特别的,只是一个修改不透明度的 Storyboard。实际上窗口从来没有真正关闭过,不透明度只是淡出
我想弄清楚如何将 WPF 列表框与 SizeToContent 属性设置为 WidthAndHeight 的窗口结合使用。 MainWindow 有一个包含两行和两列的网格。在右下象限,我有一个列表框
我创建了这个简单的演示,因为我在 WPF 中无法自动调整大小。这是简单的代码:
我基本上希望我的窗口的某些部分不影响 SizeToContent(如标题栏之类的东西),以便它看起来没有大小和折叠。是否有我可以用来执行此操作的面板(比如 ScrollViewer?),还是我必须自己
当我将窗口的默认属性设置为: SizeToContent="WidthAndHeight" 和 WindowState="Minimized", 窗口右侧会有一个黑色部分。 要重现它,请尝试创建一个新
我有 WPF 滚动条设置为 Auto 的特殊问题和 Window设置为 SizeToContent="Height"将自身调整到 Windows 7 工具栏下。 XAML 真的很简单。
我是一名优秀的程序员,十分优秀!