我正在开发一个跨平台的应用程序,在android中启动它.我找到了你的MVVMCross项目,我正试图进入它.现在我对它完全陌生,不知道如何将我的WebService-Results绑定到我的ListView.这里有一些XAML作为示例,我正在尝试它:
xmlns:mobsales="http://schemas.android.com/apk/res/MobSales.DroidUI"
...
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
mobsales:MvxItemTemplate="@layout/listitem_customer"
mobsales:MvxBind="{'ItemSource':{'Path':'Customer'}}" />
...
Run Code Online (Sandbox Code Playgroud)
看起来像这样
<cirrious.mvvmcross.binding.android.views.MvxBindableListView
android:id="@+id/autocomplete"
android:layout_below="@id/txtfield"
android:layout_centerHorizontal="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
mobsales:MvxItemTemplate="@layout/listitem_customer"
mobsales:MvxBind="{'ItemSource':{'Path':'Customers'}}" />
Run Code Online (Sandbox Code Playgroud)
当我徘徊最后两行时,工具提示表示属性未声明.我真的不知道你是怎么做到的.你能给我一些建议吗?我想我必须在我的UI项目的值中编写一些xml,对吧?
另一个问题:我怎么能使用AutoCompleteTextViews?我必须首先编写自己的MvXBindables吗?有什么建议?:-)
我在我正在使用的基于PCL的项目中添加了OxyPlotAndroid和Core .XamarinMVVMCross
我在我的xml中添加了plotview,如下所示.但我不知道如何使用MVVMCross绑定此视图.
是否有任何好的例子或资源可供遵循?
MyView.xml
<oxyplot.xamarin.android.PlotView
android:id="@+id/plot"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)
MyView.cs
public class MyView : MvxFragment<MyViewModel>
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var ignored = base.OnCreateView(inflater, container, savedInstanceState);
var view = this.BindingInflate(Resource.Layout.MyView, null)
MyViewModel MyMainViewModel = new MyViewModel();
var a = view.FindViewById<PlotView>(Resource.Id.plot);
a.Model = MyViewModel.MyModel;
return view;
}
}
Run Code Online (Sandbox Code Playgroud)
MyViewModel.cs
public PlotModel MyModel { get; set; }
public MyViewModel
{
PlotModel mo = new PlotModel();
var s1 = new LineSeries()
{ …Run Code Online (Sandbox Code Playgroud) 我试图在Android中绑定TextView的文本颜色.这是我的(截断的)xaml:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:MvxBind=" TextColor CategoryTextColor(Category)"/>
Run Code Online (Sandbox Code Playgroud)
其中CategoryTextColorValueConverter如下:
public class CategoryTextColorConverter : MvxValueConverter<ShowCategory, Color>
{
protected override Color Convert (ShowCategory value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == ShowCategory.AllShows)
{
return Color.Blue;
}
return Color.Red;
}
}
Run Code Online (Sandbox Code Playgroud)
调用转换器并按预期返回颜色,但文本颜色在TextView上永远不会更改.我有一个类似的背景颜色绑定工作正常.我在这里看到在MvvmCross中我如何做自定义绑定属性,也许我需要创建自定义绑定,但我找不到MvxBaseAndroidTargetBinding.也许我需要从nuget安装一个单独的包?