MVVM xamarin中的Syncfusion DataForm选择器项

时间:2018-10-25 09:12:49

标签: xamarin mvvm syncfusion

我正在将Xamarin表单用于移动应用程序。我正在使用MVVM模式。我已经使用Syncfusion DataForm来显示对象中的表单控件。我要更改一个字段作为选择器时遇到问题。 我的对象是

    public class User{
 public int Id { get; set; }
 public string FirstName { get; set; }
 public string LastName { get; set; }  
 public string Nationality { get; set; }
}

我的Xaml代码是

<sf:SfDataForm
          DataObject="{Binding User}"
          LabelPosition="Top"
          IsReadOnly="{Binding EditMode, Converter={StaticResource NegateBooleanConverter}}"
          >
          <sf:SfDataForm.Behaviors>
            <behaviors:EventToCommandBehavior EventName="AutoGeneratingDataFormItem" Command="{Binding OnAutoGeneratingDataFormItem}"/>
          </sf:SfDataForm.Behaviors>
        </sf:SfDataForm>

视图模型中的事件位于下面,我正在将国籍转换为选择器项。

    private void HandleAutoGeneratingDataFormItem(object obj)
{
  var e = (AutoGeneratingDataFormItemEventArgs)obj;


  if (e.DataFormItem != null && e.DataFormItem.Name == "Nationality")
  {
    var picker = new DataFormPickerItem
    {
      Name = "Nationality",
      Editor = "Picker",
      ItemsSource = ListHelpers.GetCountriesList(),
      DisplayMemberPath = "CountryCode",
      ValueMemberPath = "CountryName"
    };

    e.DataFormItem = picker;
  }

}

我正在例外,国籍字段未更改为选择器项目。

0 个答案:

没有答案