x:绑定有效但绑定不起作用(与大多数Q&A相反)

Can*_*nus 6 c# xaml win-universal-app uwp uwp-xaml

我在StackOverflow上找到的大多数问答都是Binding的工作原理,但x:Bind通常不会解决这个问题Bindings.Update().但是,我的问题是,在内部GridView,ItemSource="{x:Bind _myList}"但有效ItemSource="{Binding _myList}".

为什么?我如何使Binding工作?(而不是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 
}
Run Code Online (Sandbox Code Playgroud)

代码背后

public MyList _myList = new MyList();
_myList.Populate();
DataContext = this;
Bindings.Update();
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

And*_*pka 4

你的问题_myList是领域,而不是财产。所以,改为

public MyList _myList { get; set; } = new MyList();
Run Code Online (Sandbox Code Playgroud)