【发布时间】:2015-09-04 17:58:39
【问题描述】:
给定一个绑定到 CollectionViewSource 的数据网格,它的源是 ObservableCollection,当第一次显示时,OC 被实例化为显示一个没有任何内容的单行。
<DataGridTextColumn x:Name="observationNameColumn" Width="auto" Header="Observation Name" Binding="{Binding ObservationName}"/>
我想在任何给定字段中输入文本,以根据用户输入启动 EF 后端查询。为此,我在同一个数据网格中添加了一个这样的按钮。一个带有点击处理程序的简单按钮...
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="XBTNSearch" Click="XBTNSearch_Click" Padding="5,0,5,0">Enter Search Criteria and Search</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
当使用编辑值单击该行时,这是使用的代码类型。
private void XBTNSearch_Click(object sender, RoutedEventArgs e)
{
var context = ((Button)sender).DataContext;
Debugger.Break();
FindStuff();
}
当断点被击中时,即使我确实在其中一个字段中输入了一些内容,也会显示可观察集合类型的空模型...我想要那个值,以便我可以使用 EF 来“FindStuff”
如何根据 Button 的 datacontext 获取行单元格中的值,这应该是我编辑文本的那一行?
【问题讨论】: