gpt4 book ai didi

c# - MVVMLight ValueChanged 事件监听器在停止前仅触发了 3-4 次

转载 作者:行者123 更新时间:2023-11-30 17:35:25 28 4
gpt4 key购买 nike

我在我的 Xamarin.Android 事件中设置了一个绑定(bind),我在其中使用 WhenSourceChanges() 绑定(bind)到我的 View 模型中的一个 bool 属性。我也尝试过 ValueChanged 事件,在这两种情况下,事件监听器都会触发前 3 或 4 次,然后它就停止工作了。该值肯定已经改变,我在 true 和 false 之间交替,但它只是在一段时间后停止工作。你知道为什么会这样吗?

this.SetBinding(() => this.Vm.ShowErrorMessage)
.WhenSourceChanges(() =>
{
if (this.Vm.ShowErrorMessage)
{
this.ErrorMsg.Visibility = ViewStates.Visible;
}
else
{
this.ErrorMsg.Visibility = ViewStates.Gone;
}
});

我正在使用 MvvmLightLibs v5.3.0,在 Win10 机器上使用 VS2015 进行开发,并在 Android v4.2 Samsung Galaxy 设备上进行测试。

最佳答案

绑定(bind)是弱引用,如果不保存它们将被垃圾回收。 Please watch my presentation here .

在你的情况下你需要做的是这样的:

private List<Binding> _bindings = new List<Binding>();

然后

_bindings.Add(this.SetBinding(…)); // (the rest remains the same).

关于c# - MVVMLight ValueChanged 事件监听器在停止前仅触发了 3-4 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41221958/

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