WPF DataGrid 主从表数据绑定方式

hhh_hao 2012-04-09 06:53:47
通过RowDetailsTemplate达到显示子表的功能,
现在希望子表的列宽与主表一致,通过以下发式发现行不通, 不知道有没有好的办法。


<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn x:Name="AAA" Header="First Name" Binding="{Binding FirstName}" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding FirstName}" IsReadOnly="True" Width="{Binding ElementName=AAA, Path=ActualWidth}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
...全文
408 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhh_hao 2012-04-12
  • 打赏
  • 举报
回复
没人知道??
hhh_hao 2012-04-10
  • 打赏
  • 举报
回复
谢楼上的,不知道能否通过后台来实现
cheng2005 2012-04-10
  • 打赏
  • 举报
回复
DataGridColumn是不会出现在视觉树上的,所以你 ElementName=AAA, Path=ActualWidth根本是找不到的。说实话,这个问题本人没有什么好的解决办法。因为列宽进行绑定是没用的,不在视觉树上。
hhh_hao 2012-04-10
  • 打赏
  • 举报
回复
关键是Source AAA 找不到
hhh_hao 2012-04-10
  • 打赏
  • 举报
回复
没有发现 DataGridColumn列宽度修改事件,

在线等答案。。
mizuho_2006 2012-04-09
  • 打赏
  • 举报
回复
Width="{Bingding Source=AAA,Path=Width}"

我以前用过一个控件的宽度设为另一个控件的宽度,是这么做的,没弄过DataGrid的列宽。。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧