我在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>
您的_myList
是字段,而不是属性的问题。所以改成
public MyList _myList { get; set; } = new MyList();