Xamarin dxGrid 不更新内容
Xamarin dxGrid not updating content
我在 xamarin 应用程序中使用 dxGrid 来显示内容。到目前为止效果很好,但我无法让网格更新值。
我正在使用这个网格:
<dxGrid:GridControl
x:Name="grid"
ItemsSource="{Binding articles, Mode=TwoWay}"
SelectedDataObject="{Binding selectedRowObject}"
AutoFilterPanelVisibility="true"
IsReadOnly="true"
SortMode="Multiple">
<dxGrid:GridControl.Columns>
<dxGrid:TextColumn
FieldName="description"
Caption = "Description"
AutoFilterCondition="Contains"/>
<dxGrid:TextColumn
FieldName="id"
Caption = "ID"
AutoFilterCondition="Contains"/>
<dxGrid:TextColumn
FieldName="formattedPrice"
Caption = "Price"
AutoFilterCondition="Contains"/>
</dxGrid:GridControl.Columns>
</dxGrid:GridControl>
在我的 ViewModel 中,我将其用于数据绑定:
public List<Article> articles
{
get
{
return dataItem.articles;
}
}
dataItem 对象包含文章列表以及一些其他一般信息。当我打开页面时,内容会正确显示,但当我希望能够手动执行此操作时。例如,当我通过 Navigation.PopAsync();
.
返回 oage 时,这不起作用
要重新加载列表,我使用 PropertyChanged(this, new PropertyChangedEventArgs(nameof(articles)));
,它的吊坠适用于除网格之外的所有其他元素。文章对象的项目已正确设置,但当我在调试器中检查它们时,它们只是没有更新。
我找到了一个适合我的快速修复方法(虽然它看起来有点不干净):
在视图的代码隐藏中:
protected override void OnAppearing()
{
grid.RefreshData();
base.OnAppearing();
}
我在 xamarin 应用程序中使用 dxGrid 来显示内容。到目前为止效果很好,但我无法让网格更新值。
我正在使用这个网格:
<dxGrid:GridControl
x:Name="grid"
ItemsSource="{Binding articles, Mode=TwoWay}"
SelectedDataObject="{Binding selectedRowObject}"
AutoFilterPanelVisibility="true"
IsReadOnly="true"
SortMode="Multiple">
<dxGrid:GridControl.Columns>
<dxGrid:TextColumn
FieldName="description"
Caption = "Description"
AutoFilterCondition="Contains"/>
<dxGrid:TextColumn
FieldName="id"
Caption = "ID"
AutoFilterCondition="Contains"/>
<dxGrid:TextColumn
FieldName="formattedPrice"
Caption = "Price"
AutoFilterCondition="Contains"/>
</dxGrid:GridControl.Columns>
</dxGrid:GridControl>
在我的 ViewModel 中,我将其用于数据绑定:
public List<Article> articles
{
get
{
return dataItem.articles;
}
}
dataItem 对象包含文章列表以及一些其他一般信息。当我打开页面时,内容会正确显示,但当我希望能够手动执行此操作时。例如,当我通过 Navigation.PopAsync();
.
要重新加载列表,我使用 PropertyChanged(this, new PropertyChangedEventArgs(nameof(articles)));
,它的吊坠适用于除网格之外的所有其他元素。文章对象的项目已正确设置,但当我在调试器中检查它们时,它们只是没有更新。
我找到了一个适合我的快速修复方法(虽然它看起来有点不干净):
在视图的代码隐藏中:
protected override void OnAppearing()
{
grid.RefreshData();
base.OnAppearing();
}