c# - 如何在另一个命名空间的静态类中将 Listview 绑定(bind)到 Observablecollection

标签 c# listview xamarin.forms static namespaces

我对命名空间有很多了解,但仍然面临一个问题/误解。

我想将一个 Listview 绑定(bind)到一个 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”的绑定(bind)上下文:
...
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 元素中编写哪些绑定(bind)指令

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



为了完整起见,我的“工具箱”APP的结构在这里:
see solution explorer

非常感谢您的建议!

最佳答案

使用 x:Static 标记扩展:

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

关于c# - 如何在另一个命名空间的静态类中将 Listview 绑定(bind)到 Observablecollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53023056/

相关文章:

c# - double 类型的问题与区域设置有关

c# - 如何从非异步方法调用异步方法?

android - 如何在 Xamarin.Forms 中设置 ContentPage 方向

c# - 如何使用 C# 在 JavaScript 中创建的自定义对象上调用方法?

c# - Entity Framework DB First - 模型中的继承问题

java - ListView 不会显示 - 空白屏幕

Android 在过滤 ListView 时未选中复选框

android - 如何使用 baseadapter 将获取的 json 数据显示到 ListView 中

android - 按钮文本始终以大写形式显示

c# - Winforms:如何正确打开组合框?