wpf DataGrid 如何获取DataGridTemplateColumn.CellTemplate 中的TextBox的Text值 50
我在DataGrid中:<DataGridTemplateColumnHeader="共享资源"><DataGridTemplateColumn.CellTemplate...
我在DataGrid中:
<DataGridTemplateColumn Header="共享资源">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=ResShare}" IsEnabled="{Binding ShareReadOnly}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
像这种设置了DataGridTemplateColumn.CellTemplate的列,在我单击了任意一个单元格的时候,我怎么才能获取到该单元格里面的数据呢?
如果没有设置DataGridTemplateColumn.CellTemplate的话, 我可以在BeginningEdit中通过
(e.Column.GetCellContent(e.Row) as TextBox).Text 获取到单元格数据,但是设置了CellTemplete之后就不行了。 展开
<DataGridTemplateColumn Header="共享资源">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=ResShare}" IsEnabled="{Binding ShareReadOnly}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
像这种设置了DataGridTemplateColumn.CellTemplate的列,在我单击了任意一个单元格的时候,我怎么才能获取到该单元格里面的数据呢?
如果没有设置DataGridTemplateColumn.CellTemplate的话, 我可以在BeginningEdit中通过
(e.Column.GetCellContent(e.Row) as TextBox).Text 获取到单元格数据,但是设置了CellTemplete之后就不行了。 展开
3个回答
展开全部
WPF不需要你所说的这样获取选中单元格的数据,现在你的DataGrid已经绑定了,那么它对应的数据就是它的或是它上级的DataContext,因为你例举的xaml不全,只能看出此单元格对应的是ResShare这个属性,设置一下触发器:
<TextBox Text="{Binding ResShare,UpdateSourceTrigger=PropertyChanged}">
嗯,还得在CS代码或是ViewModel中定义一个IsSelected属性,绑定到此控件上,现在你所点击的单元格数据可以直接取绑定的数据源中属性值了。希望对你有帮助,还有疑问请追问或是Hi
<TextBox Text="{Binding ResShare,UpdateSourceTrigger=PropertyChanged}">
嗯,还得在CS代码或是ViewModel中定义一个IsSelected属性,绑定到此控件上,现在你所点击的单元格数据可以直接取绑定的数据源中属性值了。希望对你有帮助,还有疑问请追问或是Hi
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询