我正在尝试使用绑定来计算rowheadertemplate,但绑定不起作用。这就是我到目前为止所做的:
<DataGrid Name="dgFruit" ItemsSource="{Binding}" AutoGenerateColumns="false"><!--ItemTemplate="{StaticResource datagrid}"-->
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<Label Content="{Binding Path=Number, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name"/>
<DataGridTextColumn Binding="{Binding Path=Color}" Header="Color"/>
<DataGridCheckBoxColumn Binding="{Binding Path=Mjummy}" Header="Mjummy"/>
</DataGrid.Columns>
</DataGrid>
如果我将内容设置为值,如“45”,我将获得行标题,但是当我尝试绑定时,不会再显示行标题。我正在尝试绑定到与列中的值相同的类中的属性。
那么,如何从列表中检索Number值?
提前致谢
答案 0 :(得分:3)
似乎把它放在一个更好的风格中:
<Style TargetType="DataGridRowHeader">
<Setter Property="Content" Value="{Binding Path=Number}" />
<Setter Property="Padding" Value="10,0,10,0" />
</Style>
答案 1 :(得分:-1)
只需删除RelativeSource的东西:
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<Label Content="{Binding Path=Number}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
Number是dataItem的属性,而不是Grid本身。