C#/ Xamarin:无法访问重写UIPickerViewModel类参数

时间:2018-07-13 17:21:33

标签: c# xamarin xamarin.ios

我在扩展UIPickerViewModel的类时遇到问题。 我有一个字符串,可以从选择器视图访问选定的值。即public string SelectedValue {get; set;}。然后,在我的类中使用ViewDidLoad()方法,将选择器视图上的模型设置为该类的新实例。 当用户选择值并单击“完成”按钮时,我要访问他们选择的值,然后关闭选择器视图,如下所示:

    private void GalaxyDoneClicked()
    {
        this.galaxyTextField.Text = this.galaxyPicker.Model.SelectedValue;    
    }

但是我收到错误消息:UIPickerViewModel does not contain a definition for 'SelectedValue' and no extension method 'SelectedValue' accepting a first argument of type 'UIPickerViewModel' could be found ( are you missing a using directive or an assembly reference?)

我对C#和Xamarin还是陌生的,在这里的任何帮助都会受到欢迎。

2 个答案:

答案 0 :(得分:1)

您需要将galaxyPicker强制转换为自定义类:

if ( galaxyPicker is MyCustomPickerViewModelClass myCustomPicker )
{
   this.galaxyTextField.Text = this.galaxyPicker.Model.SelectedValue; 
}

MyCustomPickerViewModelClass是您从UIPickerViewModel派生的自定义类

答案 1 :(得分:1)

那帮助了马丁。最终被

    if(galaxyPicker.Model is MyCustomPickerViewModelClass myCustomPickerModel)
    {
        this.galaxyTextField.Text = myCustomPickerModel.SelectedValue;
    }