- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我这里的问题更多是理论性的,而不是功能性的。所以我正在寻找的是一个可以用一些文档来支持的答案。
我发现自己处于需要为 wpf 控件的子控件做一些自定义测量/安排的情况?
一些我想要实现的伪代码:
MeasureOverride(size)
{
foreach(child in children)
{
if(condition)
{
child.measure(size)
}
else
{
child.measure(customSize)
if(...)
{
...
}
...
}
}
}
这个的所有逻辑都应该存在于 MeasureOverride 中,还是我应该只调用测量并将接收到的大小作为所有子项的参数,然后在 ArrangeOverride 中执行逻辑?谢谢!
最佳答案
我想你可以使用任何尺寸。 MeasureOverride 方法的参数指定可用于控件的大小。控件可以返回它需要的任何 DesiredSize,即使它大于 AvailableSize。
子控件也会做同样的事情。对 child 调用 Measure 的结果是设置了 child 的 DesiredSize。同样,这可以是任何东西,具体取决于 child 的测量逻辑。在您的 MeasureOverride 方法中,您可以使用您的逻辑来理解返回的 DesiredSizes。
如果您有测量逻辑,它绝对应该位于 MeasureOverride 方法(或辅助方法)中,而不是 ArrangeOverride。 ArrangeOverride 仅用于定位。
我确定您已经检查过了,但我仍会发布链接。 http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride%28v=vs.110%29.aspx
关于c# - WPF MeasureOverride 和 ArrangeOverride,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527529/
好吧,就在我认为我已经弄清楚了布局系统时,我碰壁了...... 所以我有一个带有自定义 ItemsControl 的 WPF 窗口,它的 Items 面板是一个自定义面板,每个 ItemContain
我有一个自定义面板,在调整大小时,它的 LayoutUpdated 事件和 ArrangeOverride 被调用了两次。 因此,最初 MeasureOverride 和ArrangeOverride
我正在使用 GreatMaps.NET 库 (https://greatmaps.codeplex.com/) 的面向 MVVM 的分支,但我的问题归结为使用自定义 Canvas 作为 ItemsCo
我这里的问题更多是理论性的,而不是功能性的。所以我正在寻找的是一个可以用一些文档来支持的答案。 我发现自己处于需要为 wpf 控件的子控件做一些自定义测量/安排的情况? 是否可以根据其他大小限制而不是
有人可以为这个功能提供一个简单的例子吗?我想要实现的是这样的: 当我有 1 个 child 时 - 我想全屏显示; 当我有 2 个 child 时 - 我希望具有相同的高度和宽度,并且每个 child
我有一个如下所示的用户控件: 除了最小/最大尺寸限制之外,我还希望控件始终使用Width = Height进行绘制。所以我覆盖 MeasureOverride
我正在尝试构建一个包含一个 child 的简单面板,并将其对齐到最接近的网格大小。我很难通过覆盖MeasureOverride和ArrangeOverride来弄清楚如何做到这一点。 这就是我所追求的
我一直在努力确定为什么我们的 WPF 应用程序在生产环境中的运行速度比在本地机器上慢大约 3 倍。我一直在使用我们在生产中使用的一个 Blade 来测试对设置的各种更改,以尝试获得相同的时间。我们最终
我是一名优秀的程序员,十分优秀!