数据网格单元单击打开带有数据库数据的新窗口

本文关键字:数据 新窗口 窗口 数据库 网格 数据网 单元 单击 | 更新日期: 2023-09-27 18:05:20

我有一个数据网格,当我单击一个单元格时,我想打开一个新窗口,其中包含从我的DB链接到我单击的单元格的ID的数据。

开始。我好像打不开这个窗口。

<UserControl>
    <Style>
        <EventSetter Event="DataGridCell.MouseLeftButtonDown"
                 Handler="CellClicked" />
    </Style>
</UserControl>
<DataGrid Name="grdNewTickets" BorderThickness="1" IsReadOnly="True">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Onderwerp" Width="Auto" 
                            Binding="{Binding Onderwerp}">       
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>
c#代码:

private void CellClicked(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;
    var win = new Ticket();
    win.Show();
}

一些帮助吗?

更新:当我添加一个断点时,CellClicked不会被触发。我做错了什么吗?

数据网格单元单击打开带有数据库数据的新窗口

您的XAML需要这样更正:

<DataGrid Name="grdNewTickets" BorderThickness="1"  MouseLeftButtonDown="CellClicked" IsReadOnly="True">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Onderwerp" Width="Auto" 
                            Binding="{Binding Onderwerp}">       
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

后面的代码中

private void CellClicked(object sender, MouseButtonEventArgs e)
        {
           Ticket childWin= new Ticket();
            childWin.Show();
        }

尝试设置为"Background=Transparent".

突然对我起作用了

MouseLeftButtonDown没有被触发