c# - WPF DataGrid SelectionChanged 和按钮单击

标签 c# wpf xaml

我有一个数据网格,我绑定(bind)了一些项目。这个网格有一个 SelectionChanged 事件。我有一个带有 Click 事件的按钮。问题是当用户单击按钮时,数据网格的 selectionchanged 事件也会被触发。

private void dgLogins_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
    UserLoginEO objUserLogin = (UserLoginEO)dgLogins.SelectedItem;
        txtCodeKarbar.Text = objUserLogin.CodeKarbar.ToString();
        txtName.Text = objUserLogin.Name;
        txtFamily.Text = objUserLogin.Family;
        txtUserName.Text = objUserLogin.UserName;

    e.Handled = true;   
}

XAML:

<DataGrid Margin="0,228,0,0"  Name="dgLogins" AutoGenerateColumns="False" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Path=ObsUsers,  ValidatesOnDataErrors=True, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectionChanged="dgLogins_SelectionChanged" >
    <DataGrid.Columns>
        <DataGridTextColumn Header="UserId">
            <DataGridTextColumn.Binding>
                <Binding  Path="CodeKarbar" Mode="TwoWay">
                </Binding>
            </DataGridTextColumn.Binding>
            </DataGridTextColumn>
        <DataGridTextColumn Header="Name">
            <DataGridTextColumn.Binding>
                <Binding  Path="Name" Mode="TwoWay">
                </Binding>
            </DataGridTextColumn.Binding>
        </DataGridTextColumn>
        <DataGridTextColumn Header="Familt">
            <DataGridTextColumn.Binding>
                <Binding  Path="Family" Mode="TwoWay">
                </Binding>
            </DataGridTextColumn.Binding>
        </DataGridTextColumn>
        <DataGridTextColumn Header="UserName">
            <DataGridTextColumn.Binding>
                <Binding  Path="UserName" Mode="TwoWay">
                </Binding>
            </DataGridTextColumn.Binding>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

最佳答案

您可以检查 SelectionChangedEventArgsOriginalSource 属性,因此您可以检查哪个控件引发的事件,如果它来自按钮而不是忽略。

关于c# - WPF DataGrid SelectionChanged 和按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30636400/

相关文章:

c# - Xamarin.Forms - 将 CollectionView 的高度调整为适合 child 的最小尺寸

WPF ListView VerticalScrollBar 未显示

c# - UWP 应用程序中的自定义主题

c# - 在 UDP 服务器中接收数据包时连接重置

c# - 如何访问WPF中的嵌套资源?

c# - 将 WPF 控件绑定(bind)到 Timer 中更新的数据是否安全?

.net - WPF 应用程序失去触摸功能

c# - SL 5 脱离浏览器,提升信任度 - 从任何本地目录显示 PNG

c# - 枚举整个 LinqToSql 对象

c# - 在 C# 中使用方法链是否值得?