我是这样的DataGrid:
<DataGrid
x:Name="TotalMatch"
ItemsSource="{Binding TotalMatch}"/>
我使用的是ViewModel模式,所以在我的属性中,我在这种情况下创建了一个存储数据的ObservableCollection。此集合具有TotalMatch的结构:
public class TotalMatch
{
public int InPlay { get; set; }
public int Terminated { get; set; }
public int Total { get; set; }
}
现在DataGrid列显示为变量名称,因此:InPlay,Terminated等等。
我想知道是否可以显示而不是变量名称是自定义名称。提前谢谢。
答案 0 :(得分:1)
@Pharoah是对的 - 您可以使用一些标准列类型,最简单的是DataGridTextColumn。所以你最终会得到:
<DataGrid
x:Name="TotalMatch"
ItemsSource="{Binding TotalMatchCollection}" AutoGenerateColumns="False"
>
<DataGridTextColumn Header="In Play" Binding="{Binding Path=InPlay}" />
<DataGridTextColumn Header="Terminated" Binding="{Binding Path=Terminated}" />
<DataGridTextColumn Header="The Total" Binding="{Binding Path=Total}" />
</DataGrid>
我对您的绑定感到有点惊讶 - 您希望将ItemSource设置为ObservableCollection中的单个元素,而您通常将其设置为整个集合。所以我拿了一个平底船并更改了该片段中的ItemsSource。
答案 1 :(得分:0)
您可以为列提供自定义名称,Datagrid中的属性如HeaderText允许您选择列名称,但您必须使用DataColumn控件单独绑定每个列。