我正在尝试开发WPF应用程序。我希望Table里面有表结构。所以我使用了XamDataGrid,在现场,我使用CellValuePresenter在该单元格中显示另一个表。
父数据网格的代码
<igDP:XamDataGrid Height="Auto" ScrollViewer.VerticalScrollBarVisibility="Hidden" Theme="Office2010Blue" DataSource="{Binding ParameterList}" AutoFit="True" BorderBrush="DarkGray" BorderThickness="0.8" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" GroupByAreaLocation="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden" >
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:FieldLayout.Fields>
<igDP:Field Name="PARAMETER">
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="False" />
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Name="VALUE">
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="False" CellValuePresenterStyle="{StaticResource downloadFileBtnStyle}" />
</igDP:Field.Settings>
</igDP:Field>
</igDP:FieldLayout.Fields>
</igDP:XamDataGrid>
我想在VALUE字段中有另一个表。
所以我的风格看起来像这样
<Style TargetType="{x:Type igDP:CellValuePresenter}" x:Key="downloadFileBtnStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=DataItem.TABLE_DATATYPE}" Value="True">
<Setter Property ="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<igDP:XamDataGrid x:Name="Subtbl" VerticalAlignment="Center" DataSource="{ Binding Path = ParameterList/TABLEDATA}" Height="Auto" ScrollViewer.VerticalScrollBarVisibility="Visible" Theme="Office2010Blue" AutoFit="True" BorderBrush="DarkGray" BorderThickness="0.8" HorizontalAlignment="Stretch" GroupByAreaLocation="None" ScrollViewer.HorizontalScrollBarVisibility="Visible" >
<ContentPresenter Content="{TemplateBinding Content}"/>
</igDP:XamDataGrid>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
在输出中,我正确获取父表,对于VALUE字段内的子表,仅显示子表的值。像这样
我想知道为什么在父XamDataGrid的单元格内没有表格和单元格边框。
父XamDataGrid绑定到名为ParameterList的可观察集合,子XamDataGrid绑定了名为TableData的数据表。
是内容演示者的问题吗?