DataGridBoundColumn не содержит определения для BindingProperty

#data-binding #uwp #datagrid #uwp-xaml #windows-community-toolkit

#привязка данных #uwp #datagrid #uwp-xaml #windows-community-toolkit

Вопрос:

Я разрабатываю приложение UWP. У меня есть xaml:

 <Page
x:Class="SnapBilling.SyncModule.SyncView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" 
xmlns:local="using:SnapBilling.SyncModule.Converters"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">


<Grid>
    <controls:DataGrid x:Name="BackupSummaryDataGrid" 
                       AutoGenerateColumns="False"  
                       x:DefaultBindMode="TwoWay" 
                       Grid.Row="1" 
                       ItemsSource="{x:Bind Vm.PendingUploadPairList}"
                       AlternatingRowBackground="#e6e6e6"
                       AreRowDetailsFrozen="True"
                       Background="White"
                       CanUserReorderColumns="False"
                       CanUserResizeColumns="True"
                       CanUserSortColumns="True"
                       GridLinesVisibility="All"
                       HeadersVisibility="All"
                       SelectionMode="Single">
        <controls:DataGrid.Columns>
            <controls:DataGridTextColumn Header="Sync Type" Binding="{Binding Name}" IsReadOnly="True"/>
            <controls:DataGridTextColumn Header="Items Remaining" Binding="{Binding PendingItems}" IsReadOnly="True"/>
            <controls:DataGridTextColumn Header="% remaining" Binding="{Binding PendingPerc}" IsReadOnly="True"/>

        </controls:DataGrid.Columns>
    </controls:DataGrid>
</Grid>
  

Vm.PendingUploadPairList это некоторое свойство viewmodel, которое представляет собой список, который я пытаюсь отобразить в элементе управления сеткой данных. Каждый объект в этом списке имеет такую форму:

 public class PendingUploadPair
{
  public string Name { get; set; }
  public string PendingItems { get; set; }
  public string PendingPerc { get; set; }
}
  

Теперь проблема в Xaml:

Если я использую свойство x:Bind вместо Binding этого:

<controls:DataGridTextColumn Header="Sync Type" Binding="{x:Bind Name}" IsReadOnly="True"/>

Это выдает ошибку во время компиляции:

'DataGridBoundColumn' does not contain a definition for 'BindingProperty' в g.cs файле представления.

Как мне использовать x:Bind здесь?

Ответ №1:

Как мне использовать x:Bind здесь?

Вы не можете. x:Bind не поддерживается для DataGrid столбцов:

Нет способа x: привязать столбцы #2112