DevExpress 表格再新增行后滚动条自动移动到新增行

DevExpress 表格再新增行后滚动条自动移动到新增行

dxg:GridControl

dxg:TableView

WPF项目

Visual Studio

1. 前端代码

前端有两种方法,一种是GridControl的CurrentItem属性,一种是TableView的FocusedRow属性,二选一即可

示例:

xml 复制代码
<dxg:GridControl CurrentItem="{Binding CurrentLogInfo,Mode=TwoWay}">
                <dxg:GridControl.View>
                    <dxg:TableView AllowEditing="False" FocusedRow="{Binding CurrentLogInfo,Mode=TwoWay}"/>
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                </dxg:GridControl.Columns>
            </dxg:GridControl>

2. 后端代码

继承INotifyPropertyChanged并实现RaisePropertyChanged

csharp 复制代码
public class LogViewModel : INotifyPropertyChanged
    {
        public ObservableCollection<LogInfo> logList { get; set; }
        private object _syncLock = new Object();
        public ICollectionView CollectionView { get; set; }

        public LogInfo CurrentLogInfo
        {
            get
            {
                return _currentLogInfo;
            }

            set
            {
                _currentLogInfo = value;
                RaisePropertyChanged("CurrentLogInfo");
            }
        }
        LogInfo _currentLogInfo;
        public event PropertyChangedEventHandler PropertyChanged;
        private void RaisePropertyChanged(String propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        public LogViewModel()
        {
            logList = new ObservableCollection<LogInfo>();

            CollectionView = CollectionViewSource.GetDefaultView(logList);
            BindingOperations.EnableCollectionSynchronization(logList, _syncLock);
        }
    }

这样我们在改变CurrentLogInfo时,就会通知客户端属性值已更改。

csharp 复制代码
logvm.logList.Add(log);
logvm.CurrentLogInfo = log;
相关推荐
kimloner5 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
光泽雨5 小时前
WPF中的依赖属性
wpf
海马6 小时前
Spring Cloud 开发知识整理
spring·spring cloud·wpf
阿松爱学习6 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田6 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
闻哥6 小时前
分布式任务调度框架:XXL-Job / ElasticJob / DolphinScheduler / SchedulerX 架构对比与选型
分布式·架构·wpf
FPGA小徐6 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
淡海水7 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
胖纸不争12 小时前
嫌桌面 Agent 太重,我“自己”写了一个
ai·c#·net core
当青春邂逅吉米多维奇16 小时前
C#图解教程(第5版) 同步方法
开发语言·c#