c# - 鼠标滚动选中和取消选中 DataGrid 中的复选框

标签 c# wpf

private void OnChecked(object sender, RoutedEventArgs e)
{
    try
    {
        LAB_TEST t = new LAB_TEST();
        CheckBox chk = (CheckBox)e.OriginalSource;
        if (e.OriginalSource is CheckBox)
        {
            int OID = Convert.ToInt32(((CheckBox)chk).Tag);
            t = eb.TestGetByOID(OID);
            bool has = advisedTests.Any(test => test.OID == OID);
            if (!has)
            {
                if (txtGrossAmount.Text != string.Empty)
                {
                    decimal amount = Convert.ToDecimal(txtGrossAmount.Text);
                    amount += Convert.ToDecimal(t.PRICE);
                    txtGrossAmount.Text = amount.ToString();
                }
                else
                {
                    txtGrossAmount.Text = t.PRICE.ToString();
                }
                advisedTests.Add(t);
            }
        }
    }
    catch (Exception ex)
    {

    }
}

我遇到了这个问题,我在 Datagrid 中绑定(bind)了复选框,当我们单击复选框时,我正在做一些简单的数学计算,它应该在文本框中添加总和,它正在这样做,但问题是鼠标上下滚动自动选中和取消选中复选框,现在文本框中所选项目的总价更高,所选复选框更少或有时更多,因此鼠标向上或向下滚动会产生此问题。任何想法???? 谢谢

Issue Preview

最佳答案

您需要在您的网格中设置 VirtualizingStackPanel.IsVirtualizing="False"!

关于c# - 鼠标滚动选中和取消选中 DataGrid 中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577714/

相关文章:

c# - 让 ViewModel 调用 Actions 而不是执行命令和发布事件?

wpf - WPF DataGrid 的替代方案,它公开控件,就好像它们被放置在 Grid 控件上一样

c# - 绑定(bind)到 ViewModel 属性时,WPF 用户控件依赖属性不起作用

wpf - DragMove() 和最大化

c# - 在 WPF 中使用 MVVM 拖动鼠标时绘制矩形

c# - 创建发布多个模型的函数

C# + XAML - UI 在更改后没有得到更新

c# - 处理 MenuItem Click 事件的最佳方式?

c# - 无法创建 SSL/TLS 安全通道 - HttpWebRequest

C# WPF 应用程序 .NET Framework 4.8 与 .NET Core 3.1 与 .NET 5.0