【问题标题】:DevExpress DataGrid: How to set the ItemSource of a GridControl in a DetailDescriptorDevExpress DataGrid:如何在 DetailDescriptor 中设置 GridControl 的 ItemSource
【发布时间】:2018-04-12 20:53:37
【问题描述】:

我有一个 GridControl,它的 ItemSource 绑定到 SearchResultViewModel.SearchResults。在这个 GridControl 中,我有一个 DetailDescriptor,其中包含另一个 GridControl,我也想将其 ItemSource 设置为 SearchResultViewModel.SearchResults。

这是我的代码:

<dxg:GridControl ItemsSource="{Binding Path=SearchResultViewModel.SearchResults, Mode=OneWay}">
        <dxg:GridControl.DetailDescriptor>
            <dxg:ContentDetailDescriptor>
                <dxg:ContentDetailDescriptor.ContentTemplate>
                    <DataTemplate>
                        <dxg:GridControl ItemsSource="{Binding Path=SearchResultViewModel.SearchResults, Mode=OneWay}" MaxHeight="200">
                            <dxg:GridControl.Columns>
                                <dxg:GridColumn Header="Heating Deviation" FieldName="HeatingDeviation"/>
                            </dxg:GridControl.Columns>
                        </dxg:GridControl>
                    </DataTemplate>
                </dxg:ContentDetailDescriptor.ContentTemplate>
            </dxg:ContentDetailDescriptor>
        </dxg:GridControl.DetailDescriptor>

搜索结果看起来像这样

public struct SearchResult
{
    public SearchResult(SepoContainer sepo, int heatingDeviation)
    {
        HeatingDeviation = heatingDeviation;
        SepoContainer = sepo;
    }

    public int HeatingDeviation { get; }

    public SepoContainer { get; }
}

我想我误解了一些东西,因为我不知道如何继续

【问题讨论】:

    标签: wpf xaml devexpress


    【解决方案1】:

    ContentDetailDescriptor.DataContext 自动设置为行对象,您可以通过在Binding 中使用RelativeSource 来检索外部GridControl 来实现您想要的。

    <dxg:ContentDetailDescriptor.ContentTemplate>
        <DataTemplate>
            <dxg:GridControl ItemsSource="{Binding ItemsSource, RelativeSource={RelativeSource AncestorType=dxg:GridControl}, Mode=OneWay}" MaxHeight="200">
                <dxg:GridControl.Columns>
                    <dxg:GridColumn Header="Heating Deviation" FieldName="HeatingDeviation"/>
                </dxg:GridControl.Columns>
            </dxg:GridControl>
        </DataTemplate>
    </dxg:ContentDetailDescriptor.ContentTemplate>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      相关资源
      最近更新 更多