如何在另一个名称空间的静态类中将Listview绑定到Observablecollection

时间:2018-10-27 14:48:23

标签: c# listview xamarin.forms static namespaces

我非常喜欢命名空间,但仍然遇到问题/误解。

我想将一个Listview绑定到一个Observablecollection,该驻留在另一个命名空间中的静态类中。它可以工作,但是没有代码我就无法成功。我敢肯定,有一个更好的方法可以完全在XAML文件中做到这一点。

所以,这是我的XAML文件(...的一部分-我要删除很多内容,以保持清晰...):

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:ToolBox"
             x:Class="ToolBox.MainPage">

    <StackLayout>

        <ListView x:Name="listToolBox">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <TextCell   Text="{Binding  Name}"
                                Detail="{Binding CreateDate}"/>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

    </StackLayout>

我在后面的代码中设置了“ listToolBox”的绑定顶点:

...
using ToolBox.Model;

namespace ToolBox
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            listToolBox.ItemsSource = ToolBox.Model.EBis.ToolBoxList;
        }
        ...

它引用静态类的成员:

namespace ToolBox.Model
{

    public static class EBis
    {
        public static ObservableCollection<cDocuments> ToolBoxList = new ObservableCollection<cDocuments>
        {
            new cDocuments{ Id = -1, Name = "Pas (encore) de connection aux serveurs ..."}
        };
    ...

我的问题: 为了删除

后面的这一行代码,我必须在XAML元素中编写什么绑定说明?
  

listToolBox.ItemsSource = ToolBox.Model.EBis.ToolBoxList;

为完整起见,我的“工具箱” APP的结构如下: see solution explorer

非常感谢您的建议!

1 个答案:

答案 0 :(得分:0)

使用x:Static标记扩展名:

<ListView ItemsSource=“{x:Static local:Model.EBis.ToolBoxList}”>
相关问题