MvxSpinner初始值

the*_*ean 5 xamarin.android android-spinner mvvmcross xamarin

MvxSpinner在Android中有一个MvvmCross 绑定。用户选择一个值,该值就会反映在我的属性中MealTypeSelected

<MvxSpinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    local:MvxBind="ItemsSource MealTypeList;SelectedItem MealTypeSelected, Mode=TwoWay" />
Run Code Online (Sandbox Code Playgroud)

微调器用于允许用户选择用餐类型(早餐,午餐,晚餐等)。进餐类型由称为的枚举表示MealType

public enum MealType {Unspecified, Breakfast, Lunch, Dinner, Snack};

我想通过将微调器初始化为基于显示时间的时间值来简化用户的操作ViewModel。因此,如果页面是在中午加载的,那么我猜您的选择应该是“午餐”。

问题是,我尝试在生命周期的不同位置设置MealTypeSelected属性ViewModel:构造函数Init,和Start。但是无论我做什么,在加载视图时,它都会将选择更改 Enum的默认值,即“ Unspecified”值。

有没有办法解决此问题并将其MvxSpinner初始化为特定值?

the*_*ean 0

Stack Overflow 不会让我接受 pnavk 的评论作为答案,但这就是我最终所做的。每次用户选择某些内容时,我都会将列表中的第一项更改为所选内容。这是一个丑陋的解决方案,但它有效。如果其他人不能接受,那么您可能需要进行一些自定义绑定。