【问题标题】:WPF How to get current edited content in datagrid?WPF 如何在数据网格中获取当前编辑的内容?
【发布时间】: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 获取行单元格中的值,这应该是我编辑文本的那一行?

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    这个问题的解决方法是在Button点击事件Hanlder作为第一条语句...

        XDG.CommitEdit();
    

    XDG 是 Xaml 数据网格......

    【讨论】:

      猜你喜欢
      • 2015-03-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      相关资源
      最近更新 更多