我想使用一个数据网格作为另一个数据网格的RowDetailsTemplate的内容。它的工作非常完美,但有一个问题,那就是子Datagrid ColumnDefinition似乎没有效果。
以下是我的代码:
<toolkit:DataGrid VerticalAlignment="Top" HorizontalAlignment="Stretch"
AutoGenerateColumns="False" ItemsSource="{Binding Hauptgruppen}"
IsReadOnly="False" x:Name="HauptgruppenDataGrid"
CanUserAddRows="False"
SelectionUnit="FullRow"
gridtools:DataGridStyle.SelectAllButtonTemplate="{DynamicResource CisSelectAllButtonTemplate}"
SelectedValuePath="."
CanUserResizeColumns="True"
>
<toolkit:DataGrid.RowDetailsTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="#FF4E5790">
<toolkit:DataGrid VerticalAlignment="Top" HorizontalAlignment="Stretch" Margin="50,5,5,5"
ItemsSource="{Binding ElementName=HauptgruppenDataGrid, Path=SelectedValue.BerechtigteUntergruppen}"
x:Name="UntergruppenDataGrid" IsReadOnly="False"
CanUserAddRows="False"
SelectionUnit="FullRow"
gridtools:DataGridStyle.SelectAllButtonTemplate="{DynamicResource CisSelectAllButtonTemplate}"
SelectedValuePath="."
CanUserResizeColumns="True"
>
<toolkit:DataGrid.RowDetailsTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="#FF4E5790">
<toolkit:DataGrid VerticalAlignment="Top" HorizontalAlignment="Stretch" Margin="50,5,5,5"
ItemsSource="{Binding ElementName=UntergruppenDataGrid, Path=SelectedValue.BerechtigteRisiken}"
x:Name="RisikenDataGrid" IsReadOnly="False"
CanUserAddRows="False"
SelectionUnit="FullRow"
gridtools:DataGridStyle.SelectAllButtonTemplate="{DynamicResource CisSelectAllButtonTemplate}"
SelectedValuePath="."
CanUserResizeColumns="True"
>
<toolkit:DataGrid.RowDetailsTemplate>
<DataTemplate>
<risikoControls:RisikoDetails Risiko="{Binding ElementName=RisikenDataGrid, Path=SelectedValue}" />
</DataTemplate>
</toolkit:DataGrid.RowDetailsTemplate>
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Binding="{Binding Path=Sortierung}" Header="Sortierung" />
<toolkit:DataGridTextColumn Binding="{Binding Path=RisikoBezeichnung}" Header="Risiko" />
<toolkit:DataGridTextColumn Binding="{Binding Path=Beschreibung}" Header="Beschreibung" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
</Grid>
</DataTemplate>
</toolkit:DataGrid.RowDetailsTemplate>
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Binding="{Binding Path=LfdNr}" Header="LfdNr" />
<toolkit:DataGridTextColumn Binding="{Binding Path=Gruppe}" Header="Gruppe" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
</Grid>
</DataTemplate>
</toolkit:DataGrid.RowDetailsTemplate>
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Binding="{Binding Path=LfdNr}" Header="LfdNr" />
<toolkit:DataGridTextColumn Binding="{Binding Path=Gruppe}" Header="Gruppe" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>因此,当我查看编译后的程序时,子DataGrids会显示我绑定到它们的表的所有列,而不仅仅是我指定的那一列。所以,我希望你能帮助我。
发布于 2010-06-15 00:13:41
这是一个非常简单的错误,我只是忘记了“AutoGenerateColums=false”标签-.-
https://stackoverflow.com/questions/2991220
复制相似问题