我正在尝试实施面包屑导航。我在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 ListView
和x:Array
进行Google搜索,但却没有看到直接的方式来执行此操作。我知道我需要一个PropertyChanged
事件处理程序,但我不清楚XAML端需要发生什么或者处理程序会是什么样的。
答案 0 :(得分:1)
如果您希望控件在将项目添加到数组时自行更新,则应使用实现INotifyCollectionChanged
的内容,例如ObservableCollection
而不是数组。
将其作为来源,您可以将其绑定到ItemSource
的{{1}}; ListView
是唯一支持DataTemplating开箱即用的Xamarin.Forms控件。
任何更复杂的事情都需要定义自己的控件,例如继承来自ListView
或任何其他StackLayout
,并处理为添加到您的数组中的每个字符串创建Layout
。