如何将ObservableCollection绑定到XAML中的IList属性?

时间:2019-04-16 09:36:12

标签: c# xaml mvvm xamarin.forms

我具有IList属性,以获取我的DropDown列表的ItemSource。如何将ObservabelCollection绑定到view(XAML)中的IList属性?我尝试了普通绑定,但它引发了空引用异常。

注意:我可以在后面的代码中绑定集合。只有在尝试通过Xaml绑定它时,我才会获得异常。

我尝试使用ObservableCollection,IList和IEnemerable类型的集合

IList财产

    public IList ItemsSource
    {
        get { return this.itemsSource; }
        set { this.itemsSource = value; }
    }

收藏

    public IList<Address> AddressSource
    {
        get { return this.address; }
        set { this.address = value; }
    } 

Xaml视图

<DataForm Editor="DropDown" ItemsSource="{Binding AddressSource}" Name="Country"/>

2 个答案:

答案 0 :(得分:0)

不是因为您无法绑定,而是因为它找不到该属性。如果将BindingContext设置为适当的级别,请检查BindingContext,邮编确实会有所帮助

答案 1 :(得分:0)

要向您的应用程序添加 Binding 功能,您可以通过在Xaml页面的构造函数中添加 Loaded 事件来使用技巧,并且在此事件中,您需要在下面添加相同的代码 OnLoaded 事件。

public MainPage()
{
    this.InitializeComponent();
    this.Loaded += OnLoaded;
}

private void OnLoaded(object sender, RoutedEventArgs e)
{
    this.DataContext = this;
}