x:Bind工作,但Binding不工作(与大多数问题相反)

本文关键字:工作 大多数 问题 Bind Binding | 更新日期: 2023-09-27 18:01:50

我在StackOverflow上发现的大多数问题是绑定是如何工作的,但x:Bind没有,通常由Bindings.Update()解决。然而,我的问题是,在一个GridView, ItemSource="{x:Bind _myList}"工作,但ItemSource="{Binding _myList}"没有。

为什么?我怎么让绑定工作呢?(代替x:Bind)

下面是一些代码:

类:

public class MyClass
{ 
    public string prop1 {get; set;}
    public string prop2 {get; set;} 
}
public class MyList : List<MyClass>
{ 
    public void Populate()
    // Add items 
}

背后的代码
public MyList _myList = new MyList();
_myList.Populate();
DataContext = this;
Bindings.Update();

XAML(不工作在这里,但工作,如果ItemSource:更改为x:Bind _myList)

<GridView ItemSource="{Binding _myList}">
 <GridView.ItemTemplate>
  <DataTemplate>
   <StackPanel>
    <TextBlock Text="{Binding prop1}"/> <TextBlock Text="{Binding prop2}/>
   </StackPanel>
  </DataTemplate>
 </GridView.ItemTemplate>
</GridView>

x:Bind工作,但Binding不工作(与大多数问题相反)

您的_myList是字段,而不是属性的问题。所以改成

public MyList _myList { get; set; } = new MyList();