gpt4 book ai didi

wpf - 如何在 View 模型中检索 Canvas 尺寸

转载 作者:行者123 更新时间:2023-12-03 10:40:30 25 4
gpt4 key购买 nike

我在可调整大小的窗口中有一个 Canvas 元素;在这个 Canvas 上是一些连接在一起的 Image 和 ArcElements。我试图让图像的位置相对调整以响应窗口/ Canvas 的大小调整,但由于某种原因,我无法读取 Canvas 的尺寸。

主窗口定义为:

<Page>
<DockPanel LastChildFill="True">
<TextBox DockPanel.Dock="Top">Message</TextBox>
<Canvas></Canvas>
</DockPanel>
</Page>

我已经连接了 MvvMLight 的 EventToCommand 以便我可以路由 Canvas 的 LayoutUpdated 或
我的 View 模型的 SizeChanged 事件;我尝试对 Canvas 的 Width 和 Height 属性进行数据绑定(bind),但尺寸总是为零,这意味着 Canvas 上的所有图像都会出现死点而不是按需要定位。

最佳答案

事实证明,我使用 MvvmLight 的 EventToCommand 朝着正确的方向前进;有一个属性PassEventArgsToCommand当设置为 True将事件 args 发送到相应的 RelayCommand在 View 模型中。所以在 View 模型中,我这样初始化了命令:

Commands.ResizeCommand = new RelayCommand<SizeChangedEventArgs>(action => RecalculateObjectPositions(action));

RecalculateObjectPositions方法,我可以访问 e.NewSize找到 Canvas 的新尺寸。

关于wpf - 如何在 View 模型中检索 Canvas 尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com