【问题标题】:WPF binding data from datagrid to textboxWPF 将数据从数据网格绑定到文本框
【发布时间】:2012-09-26 07:55:29
【问题描述】:

我是 WPF 新手,仍在学习它。我创建了一个示例应用程序并连接到数据库。在我选择数据到数据库后,我可以将它显示到我的数据网格中。现在,我担心的是我想绑定到文本框取决于我的数据网格中的行。

所以,每当我在数据网格中单击或选择行时,我都会将值绑定到文本框。我已经做了一些谷歌并尝试过。但仍然失败。有什么解决办法吗?谢谢。

这是我的应用程序图片。

xaml 如何将例如第 3 行绑定到我的文本框?我应该实施任何课程吗?因为在 Windows 窗体中我只需要调用 cellclick。谢谢。

【问题讨论】:

    标签: c# wpf wpf-controls wpfdatagrid


    【解决方案1】:

    我总是将 SelectedItem(数据网格属性)绑定到我的 ViewModel 中的属性。 然后您可以将控件绑定到此属性。 您也可以在没有视图模型的情况下仅使用 xaml 实现此目的:

    <StackPanel>
        <TextBox Text="{Binding SelectedItem.Name, ElementName=myDataGrid}"/>
        <DataGrid x:Name="myDataGrid" />
    </StackPanel>
    

    【讨论】:

    • 感谢您的回答。这意味着我必须在我的代码 .cs 中实现一个 datagrid 属性,之后我还要更改 .xaml?但是你有任何示例代码吗?谢谢。
    • 您提到您是 WPF 新手,因此我强烈建议您阅读 MVVM 模式(模型视图视图模型)。我在我的答案中添加了一个仅使用 xaml 的代码示例
    • 等等..我明白了..谢谢。如果我们在数据网格上进行更改呢?我的意思是,我们也可以更改数据网格中的值,而不是绑定。
    • myDataGrid 是数据网格的名称。 SelectedItem 是对当前在网格中选择的项目的引用。 SelectedItem.Name 是任意选择的属性。您可以使用在已添加到网格的项目的类中实现的任何属性
    • 现在我明白了。但是如何通过单击我的数据网格中的行,我也可以编辑/键入,然后保存到我的数据库中。这可能吗?
    猜你喜欢
    • 2014-01-29
    • 2012-01-15
    • 2011-01-31
    • 2017-05-14
    • 2012-06-05
    • 1970-01-01
    • 2012-11-21
    • 2022-10-15
    • 2010-12-12
    相关资源
    最近更新 更多