Android 本地:MvxBind活页夹列表
我找不到可供使用的所有类型的活页夹的列表,最近有一个关于local:MvxBind=“Visibility Property”的集合,这对我们的代码有很大帮助。我相信MvvMCross有很多我们还不知道的隐藏宝石。在什么地方可以找到这些信息吗 我们知道的活页夹:Android 本地:MvxBind活页夹列表,android,mvvmcross,Android,Mvvmcross,我找不到可供使用的所有类型的活页夹的列表,最近有一个关于local:MvxBind=“Visibility Property”的集合,这对我们的代码有很大帮助。我相信MvvMCross有很多我们还不知道的隐藏宝石。在什么地方可以找到这些信息吗 我们知道的活页夹: 本地:MvxBind=“文本属性” 本地:MvxBind=“ItemsSource属性;SelectedItem属性” 本地:MvxBind=“单击ICommandProperty” 本地:MvxBind=“ItemsSource属性
- 本地:MvxBind=“文本属性”
- 本地:MvxBind=“ItemsSource属性;SelectedItem属性”
- 本地:MvxBind=“单击ICommandProperty”
- 本地:MvxBind=“ItemsSource属性;ItemClick ICommandProperty”
- 本地:MvxBind=“可见性属性”
Foo
伴随着签名事件public event EventHandler FooChanged
,则MvvmCross可以双向绑定到该属性
自动事件绑定 MvvmCross还绑定到本机视图公开的任何
public
C#event
s,只要它们具有EventHandler
签名且不EventHandler
这些可以自动绑定到ICommand
调用者(操作自动绑定到Execute
处理程序,但无自动绑定到CanExecute
)
定制装订 除了这些简单的属性外,MvvmCross还具有“自定义绑定”功能 MvvmCross默认提供的“自定义绑定”列表位于AndroidBindingBuilder中的
FillTargetBindings
中
registry.RegisterCustomBindingFactory(“文本”,
textView=>新的MVXTViewTextTargetBinding(textView));
registry.RegisterPropertyInfoBindingFactory((typeof(mvxautompleteTextViewPartialTextTargetBinding)),
类型(自动完成文本视图),“部分文本”);
registry.RegisterPropertyInfoBindingFactory(
类型(MVXAutompleteTextViewSelectedObjectTargetBinding),
类型(自动完成文本视图),
“选定对象”);
registry.RegisterPropertyInfoBindingFactory(类型为(MvxCompoundButtonCheckedTargetBinding),
类型(复合按钮),“选中”);
registry.RegisterPropertyInfoBindingFactory(typeof(MvxSeekBarProgressTargetBinging),typeof(SeekBar),
“进展”);
registry.RegisterCustomBindingFactory(“可见”,
视图=>新MvxViewVisibleBinding(视图));
registry.RegisterCustomBindingFactory(“隐藏”,
视图=>新MVXViewhidEndBinding(视图));
registry.RegisterCustomBindingFactory(“位图”,
imageView=>new MvxImageViewBitmapTargetBinding(imageView));
registry.RegisterCustomBindingFactory(“DrawableId”,
imageView=>new MvxImageViewDrawableTargetBinding(imageView));
registry.RegisterCustomBindingFactory(“DrawableName”,
imageView=>new MvxImageViewDrawableNameTargetBinding(imageView));
registry.RegisterCustomBindingFactory(“AssetImagePath”,
imageView=>新的MvxImageViewImageTargetBinding(imageView));
registry.RegisterCustomBindingFactory(“SelectedItem”,
微调器=>
新MvxSpinnerSelectedItemBinding(
纺纱机);
registry.RegisterCustomBindingFactory
关于MvvmCross自定义控件、动画和地图的N+1主题也值得一看——它们提供了自定义绑定的替代机制
有关MvvmCross binding的更多信息,请参见谢谢Stuart,这正是我想要的!我不确定这个列表是如何表示“默认”绑定的,因为我看不到诸如“单击”、“文本更改”等基本绑定。我今天也有同样的问题,想知道是否有系统的方法来发现现有绑定。编码时,我的主要目标之一是将大部分viewcontroller代码迁移到viewModel中,因此,了解指尖上的绑定非常重要。它们与Xamarin公开的任何公共C#get/set属性属于同一类型的“一网打尽”。Android可以单向绑定。
-我将更改问题中的文本以提供帮助。
registry.RegisterCustomBindingFactory<TextView>("Text",
textView => new MvxTextViewTextTargetBinding(textView));
registry.RegisterPropertyInfoBindingFactory((typeof(MvxAutoCompleteTextViewPartialTextTargetBinding)),
typeof(AutoCompleteTextView), "PartialText");
registry.RegisterPropertyInfoBindingFactory(
typeof(MvxAutoCompleteTextViewSelectedObjectTargetBinding),
typeof(AutoCompleteTextView),
"SelectedObject");
registry.RegisterPropertyInfoBindingFactory(typeof(MvxCompoundButtonCheckedTargetBinding),
typeof(CompoundButton), "Checked");
registry.RegisterPropertyInfoBindingFactory(typeof(MvxSeekBarProgressTargetBinging), typeof(SeekBar),
"Progress");
registry.RegisterCustomBindingFactory<View>("Visible",
view => new MvxViewVisibleBinding(view));
registry.RegisterCustomBindingFactory<View>("Hidden",
view => new MvxViewHiddenBinding(view));
registry.RegisterCustomBindingFactory<ImageView>("Bitmap",
imageView => new MvxImageViewBitmapTargetBinding(imageView));
registry.RegisterCustomBindingFactory<ImageView>("DrawableId",
imageView => new MvxImageViewDrawableTargetBinding(imageView));
registry.RegisterCustomBindingFactory<ImageView>("DrawableName",
imageView => new MvxImageViewDrawableNameTargetBinding(imageView));
registry.RegisterCustomBindingFactory<ImageView>("AssetImagePath",
imageView => new MvxImageViewImageTargetBinding(imageView));
registry.RegisterCustomBindingFactory<MvxSpinner>("SelectedItem",
spinner =>
new MvxSpinnerSelectedItemBinding(
spinner));
registry.RegisterCustomBindingFactory<AdapterView>("SelectedItemPosition",
adapterView =>
new MvxAdapterViewSelectedItemPositionTargetBinding
(adapterView));
registry.RegisterCustomBindingFactory<MvxListView>("SelectedItem",
adapterView =>
new MvxListViewSelectedItemTargetBinding
(adapterView));
registry.RegisterCustomBindingFactory<RatingBar>("Rating",
ratingBar => new MvxRatingBarRatingTargetBinding(ratingBar));
registry.RegisterCustomBindingFactory<View>("LongClick",
view =>
new MvxViewLongClickBinding(view));
registry.RegisterCustomBindingFactory<MvxRadioGroup>("SelectedItem",
radioGroup => new MvxRadioGroupSelectedItemBinding(radioGroup));