#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
столбцов: