gpt4 book ai didi

ios - MvvmCross:iOS 中的绑定(bind)进度条

转载 作者:行者123 更新时间:2023-11-28 22:16:31 25 4
gpt4 key购买 nike

我想知道如何绑定(bind) UIProgressView 的 Progress 属性。

在设计中有这个:

[Outlet]
MonoTouch.UIKit.UIProgressView ProgressIndicator { get; set; }

我试过以下方法:

set.Bind(ProgressIndicator).For(p => p.Progress).To(vm => vm.IosProgress);
set.Bind(ProgressIndicator).For("Progress").To(vm => vm.IosProgress);

在我的 ViewModel 中:

private float _iosProgress;
public float IosProgress
{
get { return _iosProgress; }
set { _iosProgress = value; RaisePropertyChanged(()=>IosProgress); }
}

根据要求更新:
- 我有一部装有 iOS7 的 iPhone 4。
- 我尝试将 IosProgress 指示器绑定(bind)到标签,效果很好,测试了标签中显示的 3 个值,0.33333、0,666667 和 1。

我为您创建了两个屏幕截图。

  1. 这显示调试期间 IosProgress 指示器的值,构造函数中给出的初始值为 0.1f,也是调试消息。 enter image description here

  2. 这显示了我尝试过的 3 个版本,具有相同的错误结果,当前版本的调试消息: enter image description here

谢谢!

最佳答案

我刚刚在 https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/ApiExamples 中尝试了 SeekView使用 UIProgressView,例如:

    public override void ViewDidLoad()
{
base.ViewDidLoad();

var label = new UILabel(new RectangleF(10, 100, 100, 30));
label.Text = "Slide me:";
Add(label);
var seek = new UISlider(new RectangleF(110, 100, 200, 30));
seek.MinValue = 0;
seek.MaxValue = 100;
Add(seek);
var pro = new UIProgressView(new RectangleF(110, 130, 200, 30));
Add(pro);

var set = this.CreateBindingSet<SeekView, SeekViewModel>();
set.Bind(seek).To(vm => vm.SeekProperty);
set.Bind(pro).For(v => v.Progress).To("SeekProperty / 100");
set.Apply();
}

这在 iOS7 iPhone 模拟器上完全符合预期。

我遇到的唯一问题是 ViewModel 属性是否超出了 0.0f1.0f 的范围。

关于ios - MvvmCross:iOS 中的绑定(bind)进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21514002/

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