关于wpf的datagrid,自定义模板列,无法编辑的问题。

tj_libo 2021-04-08 03:38:04
目前做一个列表,datagrid用了模板列,列下分为3个textbox以横线隔开,相当于合并单元格。

<DataGridTextColumn Header="列名" Binding="{Binding ZQDGL13, Mode=TwoWay}" Width="50" ElementStyle="{StaticResource contentCenterStyle}"/>
<DataGridTemplateColumn Header="合并单元格的" Width="50" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50*"/>
<RowDefinition />
<RowDefinition Height="50*"/>
<RowDefinition />
<RowDefinition Height="50*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" x:Name="Baifenbi1" Text="{Binding Path=ZQDGL14.Baifenbi1, Mode=TwoWay}" VerticalAlignment="Center" Margin="3,3,3,3"/>
<Line Grid.Row="1" Stroke="Black" Stretch="Fill" X2="1" VerticalAlignment="Center"/>
<TextBlock Grid.Row="2" x:Name="Baifenbi2" Text="{Binding Path=ZQDGL14.Baifenbi2, Mode=TwoWay}" VerticalAlignment="Center" Margin="3,3,3,3"/>
<Line Grid.Row="3" Stroke="Black" Stretch="Fill" X2="1" VerticalAlignment="Center"/>
<TextBlock Grid.Row="4" x:Name="Baifenbi3" Text="{Binding Path=ZQDGL14.Baifenbi3, Mode=TwoWay}" VerticalAlignment="Center" Margin="3,3,3,3"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>


运行后 其他单元格都可以双击编辑,唯独这个合并模板,选中时选的是整个单元格,无法选中其中的某个textbox,也无法编辑textbox内容

请教如何实现编辑和单独选中啊。
...全文
422 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
用mvvm,一个实体一行,这3个textbox绑定实体里面的属性,你textbox内容改了,这个实体属性自动会改
  • 打赏
  • 举报
回复
tj_libo 2021-04-08
我用了CellEditEnding事件,修改后到实体里看这里面的3个值,没有任何变化。。
  • 打赏
  • 举报
回复
hwangt0 2021-04-08
你不是做了双向绑定吗?ZQDGL14.Baifenbi1、ZQDGL14.Baifenbi2、ZQDGL14.Baifenbi3就是各个TextBox的值
  • 打赏
  • 举报
回复
tj_libo 2021-04-08
换成textbox后 双击可进行编辑,但是后台如何获取编辑数据呢?后台如何赋值? 如何区分到底是给哪个textbox赋值?
  • 打赏
  • 举报
回复
hwangt0 2021-04-08
请把TextBlock换成TextBox!
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2021-04-08 03:38
社区公告

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