首页 > 解决方案 > 如何将 ObservableCollection 绑定到 XAML 中的 IList 属性?

问题描述

我有 IList 属性来获取我的 DropDown 列表的 ItemSource。如何将 ObservabelCollection 绑定到视图(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"/>

标签: c#xamlmvvmxamarin.forms

解决方案


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

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

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

推荐阅读