Datagrid单元格单击打开包含来自DB的数据的新窗口

时间:2014-05-27 19:13:34

标签: c# wpf xaml datagrid wpfdatagrid

我有一个数据网格,当我点击一个单元格时,我想打开一个新窗口,其中包含我的数据库中链接到我单击的单元格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没有被触发。我做错了什么。

2 个答案:

答案 0 :(得分:0)

您的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();
        }

答案 1 :(得分:0)

尝试将其设置为“背景=透明”。

突然为我工作

MouseLeftButtonDown is not getting fired