我从以下代码中提取了这部分代码:https ://github.com/slodge/MvvmCross-Tutorials/blob/master/MoreControls/MoreControls.Droid/Resources/Layout/FirstView.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Mvx.MvxSpinner
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
local:MvxBind="ItemsSource Shapes; SelectedItem Current" />
<!--
could be customised using
local:MvxDropDownItemTemplate="@layout/spinner_dropdownitem_shape"
local:MvxItemTemplate="@layout/spinner_item_shape"
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40dp"
local:MvxBind="Text Current" />
<MC.ShapeView
android:layout_width="fill_parent"
android:layout_height="300dp"
local:MvxBind="Shape Current" />
</LinearLayout>
评论提到可以通过传递 MvxDropDownItemTemplate 和 MvxItemTemplate 布局来自定义外观。假设我们将为两个模板使用这个简单的布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res/Project.Ui.Droid"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
local:MvxBind="Text ???????" />
</FrameLayout>
MvxSpinner 将枚举名称 ( Circle
, Square
, Triangle
) 显示为每个项目的文本。在不更改视图模型的情况下,是否可以在模板中创建一个绑定,以在不使用模板时显示 MvxSpinner 默认显示的相同内容?如果是这样,那个绑定会是什么样子?如果这不可能,那么实现这一结果的最佳方法是什么?