我正在使用Xamarin.Forms.DataGrid数据网格nuget包。当我在Android手机上运行应用程序时,它将显示网格和数据。但是,当我尝试在UWP上运行完全相同的代码时,它会给我以下异常。
错误讯息:
消息“System.Runtime.InteropServices.COMException:错误HRESULT E_FAIL已从调用COM组件返回。\ r \ n在Windows.UI.Xaml.UIElement.Measure(Size availableSize)\ r \ n at Xamarin.Forms.Platform.UWP.VisualElementRenderer
2.MeasureOverride(Size availableSize)\r\n at Windows.UI.Xaml.UIElement.Measure(Size availableSize)\r\n at Xamarin.Forms.Platform.UWP.VisualElementRenderer
2.MeasureOverride(Size availableSize)\ r \ n在Windows.UI.Xaml.UIElement.Measure(Size availableSize)\ r \ n at Xamarin.Forms.Plat“字符串。
如果我注释掉
,它将在UWP中显示空格和列 dgReceipts.ItemsSource = tempList;
所以我不相信它可能是一个XAML问题。
用于测试的设备是Samsung Galaxy S6 android 7.0& Lumia 640
感谢任何帮助
XAML代码
<dg:DataGrid x:Name="dgReceipts" RowHeight="70" HeaderHeight="50" BorderColor="#CCCCCC" HeaderBackground="#E0E6F8">
<dg:DataGrid.Columns>
<dg:DataGridColumn Title="ID" Width="1*">
<dg:DataGridColumn.CellTemplate>
<DataTemplate>
<ContentView>
<Label Text="{Binding Apar_ID}" VerticalOptions="Center"
HorizontalOptions="Center"/>
</ContentView>
</DataTemplate>
</dg:DataGridColumn.CellTemplate>
</dg:DataGridColumn>
</dg:DataGrid.Columns>
<dg:DataGrid.RowsBackgroundColorPalette>
<dg:PaletteCollection>
<Color>#F2F2F2</Color>
<Color>#FFFFFF</Color>
</dg:PaletteCollection>
</dg:DataGrid.RowsBackgroundColorPalette>
</dg:DataGrid>
这是我获取数据列表的地方
//Gets transactions for reports page
public async Task<List<x_Transactions>> GetReportTransactions()
{
List<x_Transactions> transactions = await database.Table<x_Transactions>
().ToListAsync();
return transactions;
}
它设置为dg itemssource
的位置public async Task FillGrid()
{
List<x_Transactions> tempList;
newList = await App.Database.GetReportTransactions();
dgReceipts.ItemsSource = tempList;
}
答案 0 :(得分:0)
您无法在Xamarin.UWP
平台中使用嵌套滚动。 DataGrid
组件内部使用ListView
。它不能有ScrollView
父。