C# 如何在gridview中更新绑定?

C# 如何在gridview中更新绑定?,c#,xaml,gridview,uwp,c++-cx,C#,Xaml,Gridview,Uwp,C++ Cx,我将使用这里的解决方案文件作为示例:(如果创建者对我链接这些文件的示例有问题,我将自己创建并上传它们)。当前,gridview绑定到一个类书籍的列表。gridview的itemtemplate绑定到的属性之一称为Title。但是,如果我更新标题并调用Bindings.update(),它将不会更新它。为了说明这一点,我在页面上添加了一个按钮,并将其操作如下: Books[0].Title = "hello"; Bindings.Update(); 现在,当我按下按钮时,我希望gridview上

我将使用这里的解决方案文件作为示例:(如果创建者对我链接这些文件的示例有问题,我将自己创建并上传它们)。当前,gridview绑定到一个类
书籍的列表。gridview的itemtemplate绑定到的属性之一称为
Title
。但是,如果我更新标题并调用Bindings.update(),它将不会更新它。为了说明这一点,我在页面上添加了一个按钮,并将其操作如下:

Books[0].Title = "hello";
Bindings.Update();

现在,当我按下按钮时,我希望gridview上的第一个项目将其标题更改为“hello”。然而,什么也没有发生。我如何实现这种行为?这个解决方案也需要在C++/CX中工作,因为我将在这里使用它

示例代码中
Book
的实现是

public class Book
{
    public int BookId { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
    public string CoverImage { get; set; }
}
如果要更新代码中的属性,必须实现。任何属性更改都将自动传播到您的UI。几个MVVM框架提供了一个基本实现,使您的工作更轻松


编辑:正如@justanotherxl正确注意到的:
x:Bind
默认为
OneTime
,对于更新,这必须更改为
OneWay
(这是常规绑定的默认值,因此这些绑定可以在开箱即用的情况下正常工作)。

感谢您的响应。使用x:Bind和INotifyPropertyChanged时,是否需要将绑定设置为Mode=OneWay?另外,使用此工具时,性能的影响有多大?圣诞快乐!您完全正确:常规绑定是开箱即用的,x:Bind需要添加一次性绑定。INPC的性能影响可以忽略不计。