Xamarin.Forms.DataGridデータグリッドのnugetパッケージを使用しています。 Androidの携帯電話でアプリケーションを実行すると、グリッドとデータがうまく表示されます。しかし、UWPで全く同じコードを実行しようとすると、次の例外が発生します。データグリッドXamarin UWPの問題 - COMコンポーネントの呼び出しからHRESULT E_FAILが返されました
エラーメッセージ:
メッセージ「System.Runtime.InteropServices.COMException:エラーHRESULT E_FAILはCOMコンポーネントへの呼び出しから返された\ Rの\ nをWindows.UI.Xaml.UIElementで。 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
でMeasure(Size availableSize)\ r \ n 2.MeasureOverride(Size availableSize)\ r \ n Windows.UI.Xaml.UIElement.Measure(Size availableSize)\ r \ n at Xamarin.Forms.Plat "文字列。
私は
dgReceipts.ItemsSource = tempList;
をコメントアウト場合はので、私はそれがXAMLの問題である可能性があり信じていませんUWPでうまく空のグリッドと列が表示されます。テストのために使用されている
デバイスは、サムスンギャラクシーS6あるアンドロイド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 iに設定されていますtemssource
public async Task FillGrid()
{
List<x_Transactions> tempList;
newList = await App.Database.GetReportTransactions();
dgReceipts.ItemsSource = tempList;
}
'DataGrid'のアイテムソースを' dgReceipts.ItemsSource = new List- () 'に設定しました。うまくいきます。 'tempList'を印刷しようとしましたか? –
私は正しい量のデータがデバッグモードで返されていることを確認することができ、実際にはAndroidにも正しいデータが表示されています。 –
解決方法をクリーンアップし、アプリケーションをアンインストールしてから、プロジェクトを再構築してください。 –