gpt4 book ai didi

c# - 在 MVVM 中处理不同的 View 模型状态

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:35 25 4
gpt4 key购买 nike

我正在为我的 Metro 应用程序使用 MVVM 模式。在我的主页上,用户按下一个按钮,应用程序获取用户的当前位置。

获取用户位置的过程是异步的,我希望 UI 发生变化,因此按钮将被禁用,并且将显示一个不确定的进度条,直到返回坐标。

根据 MVVM 管理此问题的最佳方法是什么?有自定义视觉状态?我注意到有 ApplicationViewStates 和 CommonStates,是否可以添加您自己的自定义状态?你会怎么做?

最佳答案

我认为您正在寻找类似的东西:

View 模型:

private async void CommandExecution()
{
IsAwaitingResponse=true;
var response = await _myService.DoNetworkCall()
IsAwaitingResponse=false;
}

如果您使用的是 Microsoft 模板之一,您的“通用”文件夹中应该有一个 BooleanToVisibilityConverter。你可以这样使用它:

<Page.Resources>
<BooleanToVisibilityConverter x:key="booleanToVisibilityConverter"/>
</Page.Resources>
"..."
<ProgressBar Visibility={Binding IsAwaitingResponse,Converter={StaticResource booleanToVisibilityConverter}}" IsIndeterminate="true"/>

关于c# - 在 MVVM 中处理不同的 View 模型状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12322393/

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