2017-06-13 147 views
0

我正在使用Xamarin.Forms.DataGrid數據網格nuget包。當我在Android手機上運行應用程序時,它會顯示網格和數據。但是,當我嘗試在UWP上運行完全相同的代碼時,它會給我以下例外。數據網格Xamarin UWP問題 - HRESULT E_FAIL已從調用COM組件返回

錯誤消息:

消息「System.Runtime.InteropServices.COMException:錯誤HRESULT E_FAIL已經從對COM組件的呼叫在Windows.UI.Xaml.UIElement返回\ r \ n。在Xamarin.Forms.Platform.UWP.VisualElementRenderer中測量(大小availableSize)\ r \ n 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 at Windows.UI.Xaml.UIElement.Measure(Size availableSize)\ r \ n at Xamarin.Forms.Plat「字符串。

它會顯示一個空的網格和列只是UWP很好,如果我註釋掉

dgReceipts.ItemsSource = tempList;

,所以我不認爲它可能是一個XAML問題。被用於測試

設備是三星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 i temssource

public async Task FillGrid() 
{ 
    List<x_Transactions> tempList; 
    newList = await App.Database.GetReportTransactions(); 
    dgReceipts.ItemsSource = tempList;  
} 
+0

我用'dgReceipts.ItemsSource = new List ()'設置了DataGrid的項目源,它工作的很好。你有沒有試過打印'tempList'? –

+0

我可以看到正確的數據量正在調試模式下返回,並且它也顯示了Android中的正確數據。 –

+0

請嘗試清理解決方案並卸載應用程序,然後重新生成項目。 –

回答

0

不能在Xamarin.UWP平臺使用嵌套滾動。 DataGrid組件使用ListView裏面。父母不能有ScrollView

相關問題