0

我正在尝试修改从数据库中提取的网格视图中的行中的数据。

数据被绑定到每个 gridview 列,如下所示。

<GridViewColumn Header="Status" Width="120" util:GridViewSort.PropertyName="Status">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Status}" FontWeight="Bold" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown_1"/>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

我在文本块上有一个 MouseLeftButtonDown 事件,当我单击特定文本时会触发该事件。

private void TextBlock_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
    MessageBox.Show("Hello");
}

我遇到的问题是我找不到访问行数据的方法(例如 id 或行中的文本)。

有没有办法从点击事件中访问所有行数据?

谢谢

4

2 回答 2

3

试试这个:

  private void TextBlock_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
    {
        TextBlock textBlock = (sender as TextBlock);
        string text = textBlock.Text;// Text in the TextBlock
        object datacontext = textBlock.DataContext; // datacontext, Entire row info
    }
于 2013-09-13T10:37:22.677 回答
0

你不应该在你的 XAML 文件后面的代码中做任何与 UI 没有直接关系的事情。你应该将点击事件绑定到你的模型或视图模型的命令(绑定到你的单元格的实体,在你的情况下是包含的实体“状态”属性);该实体应该更容易访问“行数据”。

于 2013-09-13T10:44:51.667 回答