绑定到列(单元格)值

时间:2016-07-07 00:41:38

标签: c# wpf devexpress gridcontrol devexpress-wpf

我正在尝试自定义DevExpress GridControl中的列。我基本上希望列中的每个单元格中有两行。一个包含一些随机文本,另一个包含我Max ObservableCollection中定义的属性Stocks,该属性设置为ItemsSource。不使用GridColumn.CellTemplate,单元格接收具有正确的Max属性值。但是当引入Grid.CellTemplate时,我无法打印出Max属性值。我假设绑定不正确但无法弄清楚出了什么问题。

     <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

Without the CellTemplate

With the CellTemplate

感谢所有帮助:)

1 个答案:

答案 0 :(得分:2)

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

源是一行的ViewModel: 的 XAML:

ViewModel

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

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