gpt4 book ai didi

c# - 如何在 ViewModel 中获取控件的高度

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

我的 Xaml 中有一个 ContentControl,我想在 ViewModel 中访问它的高度,我尝试在我的 ViewModel 中创建一个属性,然后通过 TwoWay 将其绑定(bind)到 ContentControl。但问题在于它将 ContentControl 高度设置为 0,这是该属性的默认值。

代码:

XAML

<ContentControl x:Name="ContentControl"
Content="{Binding ContentFrame}"
HorizontalContentAlignment="Stretch"
Height="{Binding ContentControlHeight, Mode=TwoWay}"
VerticalContentAlignment="Stretch"></ContentControl>

ViewModel(使用 Fody 进行属性更改通知):

public double ContentControlHeight { get;放;

最佳答案

绑定(bind)到 ActualHeight (可能宽度)不是一个好的选择,因为:

For purposes of ElementName binding, ActualHeight does not post updates when it changes (due to its asynchronous and run-time calculated nature). Do not attempt to use ActualHeight as a binding source for an ElementName binding. If you have a scenario that requires updates based on ActualHeight, use a SizeChanged handler.

值得遵循以上并使用SizeChanged事件。

关于c# - 如何在 ViewModel 中获取控件的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42711237/

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