如何在数据网格的行标题模板中设置值?

发布于 2024-10-28 08:25:07 字数 1015 浏览 0 评论 0原文

我正在尝试使用绑定来制定行标题模板,但绑定不起作用。这就是我到目前为止所拥有的:

       <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 值呢?

提前致谢

I'm trying to work out a rowheadertemplate with a binding, but the binding doesn't work. This is what i have so far:

       <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>

I'm getting row headers if i set the content to a value, like "45", but when i try to bind, the rowheaders aren't shown anymore. I'm trying to bind to a property from the same class as the values in the columns.

So, how can i retrieve the Number value from my list?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒浓于脸红 2024-11-04 08:25:07

似乎把它放在一种风格上效果更好:

        <Style TargetType="DataGridRowHeader">
            <Setter Property="Content" Value="{Binding Path=Number}" />
            <Setter Property="Padding" Value="10,0,10,0" />
        </Style>

seems putting it in a style works better:

        <Style TargetType="DataGridRowHeader">
            <Setter Property="Content" Value="{Binding Path=Number}" />
            <Setter Property="Padding" Value="10,0,10,0" />
        </Style>
柏拉图鍀咏恒 2024-11-04 08:25:07

只需删除RelativeSource 的东西:

<DataGrid.RowHeaderTemplate>
   <DataTemplate>
      <Label Content="{Binding Path=Number}"/>
   </DataTemplate>
</DataGrid.RowHeaderTemplate> 

Number 是dataItem 的属性,而不是Grid 本身。

just remove the RelativeSource thing:

<DataGrid.RowHeaderTemplate>
   <DataTemplate>
      <Label Content="{Binding Path=Number}"/>
   </DataTemplate>
</DataGrid.RowHeaderTemplate> 

The Number is a property of the dataItem, not the Grid itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文