binding - 将 Mvvmcross 绑定(bind)与 MonoTouch.Dialog(列表和命令)结合使用

标签 binding xamarin.ios mvvmcross monotouch.dialog

<强>1。绑定(bind)列表

我想知道如何将 ObservableCollection 绑定(bind)到 Radiogroup:

new Section(){
                new RootElement("Mandanten", new RadioGroup("mandanten", 2)) {
                    new Section(){
                        new RadioElement("Kupus", "mandanten"),
                        new RadioElement("Kajmak", "mandanten")
                    }
                }
            }

正如你在这里看到的,我正在手动创建 2 个项目/元素,但我错过了诸如“ItemsSource”之类的东西。 如果不可能,您会给我什么建议?使用witch Control(绑定(bind)列表)?

<强>2。命令绑定(bind)

据我所知,MonoTouch.Dialog 中没有“按钮”。所以我看到我们将使用“StringElement”。 我尝试过,但点击“按钮”后没有任何反应:

new StringElement("Login").Bind(this, "SelectedCommand LoginCommand")

我不确定出了什么问题,也许我需要在这里使用新的“变体”,如下所示:

new EntryElement ("User", "Loginuser", ViewModel.User).Bind(target, v => v.Value, t => t.User),

但我不确定如何构建类似的代码来绑定(bind)特定“stringelement”的命令(在这种情况下 - 带有 ontap 事件的按钮)..

感谢任何帮助!

最佳答案

1。绑定(bind)列表

绑定(bind)动态 ObservableCollection 列表的示例位于 https://github.com/slodge/MvvmCross-Tutorials/blob/master/DialogExamples/DialogExamples.Touch/Views/ThirdView.cs 中。 - 它使用 https://github.com/slodge/MvvmCross-Tutorials/tree/master/DialogExamples/DialogExamples.Touch/BindableElements 中的一些自定义元素- 基于 https://github.com/asednev/MvvmCross.AlexeysExtensions 中的样本

由于 Radio 列表的内部实现方式,我不知道相同的 ObservableCollection 绑定(bind)方法是否适用于 Radio 列表 - 有人需要原型(prototype)设计和实验来解决这个问题。然而,一个简单的固定 radio 列表显示在https://github.com/slodge/MvvmCross-Tutorials/blob/master/DialogExamples/DialogExamples.Touch/Views/FirstView.cs中。

2。命令绑定(bind)

参见示例:https://github.com/slodge/MvvmCross-Tutorials/blob/master/DialogExamples/DialogExamples.Touch/Views/FirstView.cs

                new Section("Action")
                    {
                        new StringElement("Second").Bind(bindings, element => element.SelectedCommand, vm => vm.GoSecondCommand),
                        new StringElement("Bindable Elements").Bind(bindings, element => element.SelectedCommand, vm => vm.BindableElementsCommand)  
                    },

关于binding - 将 Mvvmcross 绑定(bind)与 MonoTouch.Dialog(列表和命令)结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18384073/

相关文章:

xamarin.ios - 为什么 MvxStandardTableViewSource SelectedItem 无法正确更新?

xamarin.ios - 编译器错误 : Failed to read file attributes for . ../Resources/Images.xcassets

ios - 将 UIImage 保存到个人文件夹,然后通过 UIImage.FromFile 加载它

c# - 如何将 MvxCommand 附加到 BottomBar?

WPF 组合框显示问题

c# - WPF 将 List<custom> 绑定(bind)到 C# 代码中的组合框?

android - MvxNotifyPropertyChanged 应用程序在 SetProperty 上崩溃

visual-studio-2012 - 将 MVVMCross 从 nuget 安装到 PCL 时出错

WCF mex 不包含来自主机的完整绑定(bind)信息

php - mysql中的绑定(bind)参数