WPF,重写DataGrid的OnMouseWheel事件?解决思路

WPF,重写DataGrid的OnMouseWheel事件?
有一个自定义的继承自DataGrid的MyDataGrid控件,重写了OnMouseWheel类处理程序:

        protected override void OnMouseWheel(MouseWheelEventArgs e)
        {
            base.OnMouseWheel(e);            
            this.Width = 20;
        }

重写了之后,当鼠标移到MyDataGrid上面滚动鼠标滚轮时,为什么没有反应呢,MyDataGrid的宽度没有变成20,请问,这是为什么呢?
------解决方案--------------------
控件获取焦点了吗?
------解决方案--------------------
设断点看看this是什么东西。
------解决方案--------------------
引用:
Quote: 引用:

设断点看看this是什么东西。

this是MyDataGrid对象啊
那你这个什么都不是啊 。你要为特定的ui控件,比如TextBox.Width赋值。最好后面加一句this.updatelayout方法。