Привязка столбца к списку двойников в wpf

Я связал ObservableCollection Со столбцом в сетке, с некоторыми другими вспомогательными столбцами.

Мой код xaml выглядит как

<telerik:RadGridView x:Name="rgvDateTime"
                                 Grid.Row="1"
                                 Grid.ColumnSpan="2"
                                 Height="257"
                                 Margin="{StaticResource MarginsForMostRightControl}"
                                 VerticalAlignment="Top"
                                 AutoExpandGroups="True"
                                 AutoGenerateColumns="False"
                                 CanUserFreezeColumns="False"
                                 CanUserReorderColumns="False"
                                 CanUserResizeColumns="False"
                                 EditTriggers="Default"
                                 HorizontalContentAlignment="Left"
                                 IsFilteringAllowed="False"
                                 ItemsSource="{Binding FlowList}"
                                 RowIndicatorVisibility="Collapsed"
                                 ScrollMode="RealTime"
                                 ScrollViewer.HorizontalScrollBarVisibility="Auto"
                                 ScrollViewer.VerticalScrollBarVisibility="Auto"
                                 SelectionMode="Extended"
                                 SelectionUnit="FullRow"
                                 ShowGroupPanel="False"
                                 Style="{StaticResource GridViewStyle}"
                                 TextBlock.TextAlignment="Left">

              <telerik:RadGridView.Columns>
                <Helpers:RowNumberingHelper Width="Auto"
                                            CellStyle="{StaticResource GridCellRowNumberStyle}"
                                            HeaderCellStyle="{StaticResource GridViewHeaderCellExcelStyle}" />


                <telerik:GridViewDataColumn Width="0.25*"
                                            CellStyle="{StaticResource GridCellControlStyle}"
                                            EditTriggers="CellClick"
                                            DataMemberBinding="{Binding}"
                                            HeaderCellStyle="{StaticResource GridViewHeaderCellExcelStyle}">
                  <telerik:GridViewDataColumn.Header>
                    <StackPanel Orientation="Vertical">
                      <TextBlock Text="Flow" />
                      <StackPanel Orientation="Horizontal">
                        <TextBlock HorizontalAlignment="Left"
                                   VerticalAlignment="Top"
                                   Style="{StaticResource Label}"
                                   Text="(" />

                        <localCtrl:UnitLabel VerticalAlignment="Top"
                                             UnitSystem="{Binding RelativeSource={RelativeSource FindAncestor,
                                                                                                 AncestorType={x:Type Window}},
                                                                  Path=DataContext.CurrUnitSystem,
                                                                  Mode=TwoWay}"
                                             UnitType="Flow" />
                        <TextBlock VerticalAlignment="Top"
                                   Style="{StaticResource Label}"
                                   Text=")" />
                      </StackPanel>
                    </StackPanel>
                  </telerik:GridViewDataColumn.Header>
                  <!--<telerik:GridViewDataColumn.CellTemplate>
                    <DataTemplate>
                      <Textbox:NumEdit HorizontalAlignment="Stretch"
                                       VerticalAlignment="Center"
                                       BorderBrush="Transparent"
                                       HorizontalContentAlignment="Left"
                                       MaxLength="8"
                                       Text="{Binding}"
                                       />
                    </DataTemplate>
                  </telerik:GridViewDataColumn.CellTemplate>-->
                </telerik:GridViewDataColumn>

              </telerik:RadGridView.Columns>
            </telerik:RadGridView>

и моя модель просмотра

public class MyVM : NotificationObject
{   
    /// <summary>
    /// Stores the flow list
    /// </summary>
    private ObservableCollection<double?> flowList = new ObservableCollection<double?>();


    /// <summary>
    /// Gets or sets the flow list.
    /// </summary>
    /// <value>The flow list.</value>
    public ObservableCollection<double?> FlowList
    {
      get
      {
        return this.flowList;
      } // get

      set
      {
        this.flowList = value;
        this.RaisePropertyChanged(() => this.FlowList);
      } // set
    } // FlowList   
}

Привязка работает нормально, но когда я отменяю комментарий в блоке CellTemaplate в xaml, он выдает"Двухстороннее связывание требует Path или XPath". исключение. Я не могу понять, что я делаю неправильно.

1 ответ

Решение

CellTemplate по умолчанию ожидает правильный путь. Хотя это эквивалентно, это работает:

DataMemberBinding="{Binding Path=.}"
Другие вопросы по тегам