【发布时间】:2019-01-02 13:33:43
【问题描述】:
下面是我的键值对类
public class GridExpression
{
public int Count { get; set; }
public string Title { get; set; }
public KeyValuePair<string, double> T1 { get; set; }
public KeyValuePair<string, double> T2 { get; set; }
public KeyValuePair<string, double> T3 { get; set; }
}
ObservableCollection<GridExpression> grid = new
ObservableCollection<GridExpression>();
我想将上面的 ObservableCollection 绑定到一个 Datagrid
如果我们使用 List 而不是 Keypairvalue
就像在 XAML 代码下面一样,我添加了 2 个 T1,一个带有 Grid,另一个带有 Wrappanel
网格至少显示文本块背景的浅绿色
<DataGrid x:Name="_timeframe_Copy" Margin="0,408.152,10,10" AlternatingRowBackground="#FFFFF5D4" AutoGenerateColumns="False"
HorizontalAlignment="Right" Width="766.167">
<DataGrid.Columns>
<DataGridTextColumn Header="Count" Binding="{Binding Count}" />
<DataGridTextColumn Header="Title" Binding="{Binding Title}" />
<DataGridTemplateColumn Header="T1">
<DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn Header="T1" MinWidth="10">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid x:Name="brdBroder" VerticalAlignment="Stretch" Margin="1" DataContext="{Binding T1, RelativeSource={RelativeSource AncestorType=Window}}">
<TextBlock Text="{Binding Key}" Margin="3,1" Background="Aqua" Foreground="White" />
<TextBlock Text="{Binding Value}" Margin="3,1" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="T1" MinWidth="10">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<WrapPanel x:Name="brdBroder" VerticalAlignment="Stretch" Margin="1" DataContext="{Binding T1, RelativeSource={RelativeSource AncestorType=Window}}">
<TextBlock Text="{Binding Key}" Margin="3,1" Background="Aqua" Foreground="White" />
<TextBlock Text="{Binding Value}" Margin="3,1" />
</WrapPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="T2" MinWidth="10">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<WrapPanel x:Name="brdBroder" VerticalAlignment="Stretch" Margin="1" DataContext="{Binding T2, RelativeSource={RelativeSource AncestorType=Window}}">
<TextBlock Text="{Binding Key}" Margin="3,1" Background="Aqua" Foreground="White" />
<TextBlock Text="{Binding Value}" Margin="3,1" />
</WrapPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="T3" MinWidth="10">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<WrapPanel x:Name="brdBroder" VerticalAlignment="Stretch" Margin="1" DataContext="{Binding T2, RelativeSource={RelativeSource AncestorType=Window}}">
<TextBlock Text="{Binding Key}" Margin="3,1" Background="Aqua" Foreground="White" />
<TextBlock Text="{Binding Value}" Margin="3,1" />
</WrapPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我不知道如何绑定键值对和绑定到Datagridtemplate
【问题讨论】: