绑定到列(单元格)值

Binding to column(cell) value

我正在尝试在 DevExpress GridControl 中自定义一个列。我基本上想要列中每个单元格中的两行。一个带有一些随机文本,另一个包含我的 ObservableCollection Stocks 中定义的 属性 Max,它被设置为 ItemsSource。在不使用 GridColumn.CellTemplate 的情况下,接收到的单元格具有正确的 Max 属性 值。但是当 Grid.CellTemplate 被引入时,我无法打印出 Max 属性 值。我假设 Binding 不正确,但无法找出问题所在。

     <dxg:GridControl  EnableSmartColumnsGeneration="True" ItemsSource="{Binding Stocks}" 
                     SelectionMode="None" AllowLiveDataShaping="True"     >

           <dxg:GridControl.Columns>
             <dxg:GridColumn x:Name="MaxColumn" Binding="{Binding Max, Mode=TwoWay}" MinWidth="60" Width="60" AllowResizing="True" 
                FixedWidth="true" Header="Max" ReadOnly="True">
                <dxg:GridColumn.CellTemplate>
                    <DataTemplate >
                        <Grid >
                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>
                            <TextBlock Text="Max is..." ></TextBlock>
                            <TextBlock Grid.Row="1"  Text="{Binding Max, Mode=TwoWay}"></TextBlock>
                        </Grid>
                    </DataTemplate>
                 </dxg:GridColumn.CellTemplate>
              </dxg:GridColumn>
           </dxg:GridControl.Columns>

    </dxg:GridControl>

第一张没有CellTemplate,第二张有CellTemplate

感谢所有帮助:)

此问题的原因是 Binding Path 不正确。请注意,CellTemplate 内容使用 GridCellData 对象作为 DataContext。根据 ViewModel 包含所需命令的内容,绑定路径应该有所不同:

来源是一行的 ViewModel: XAML:

Command="{Binding RowData.Row.Max}"

源作为 DataContext 绑定到 DXGrid 控件: XAML:

Command="{Binding View.DataContext.Max}"