绑定到Xamarin / XAML中的数组(实现面包屑)

时间:2015-07-20 19:39:31

标签: c# xaml xamarin xamarin.forms breadcrumbs

我正在尝试实施面包屑导航。我在C#代码中有一个字符串数组,如下所示:

    public static readonly BindableProperty CurrentPathProperty =
        BindableProperty.Create<FileBrowser, string[]>(c => c.CurrentPath, null);

    public string[] CurrentPath
    {
        get { return GetValue(CurrentPathProperty) as string[]; }
        set { SetValue(CurrentPathProperty, value); }
    }

在XAML中绑定到属性的正确方法是什么(显示面包屑并在点击其中一个时更新CurrentPath)?我已经尝试使用Google ListViewx:Array进行Google搜索,但却没有看到直接的方式来执行此操作。我知道我需要一个PropertyChanged事件处理程序,但我不清楚XAML端需要发生什么或者处理程序会是什么样的。

1 个答案:

答案 0 :(得分:1)

如果您希望控件在将项目添加到数组时自行更新,则应使用实现INotifyCollectionChanged的内容,例如ObservableCollection而不是数组。

将其作为来源,您可以将其绑定到ItemSource的{​​{1}}; ListView是唯一支持DataTemplating开箱即用的Xamarin.Forms控件。

任何更复杂的事情都需要定义自己的控件,例如继承来自ListView或任何其他StackLayout,并处理为添加到您的数组中的每个字符串创建Layout