C# 事件处理程序背后的魔力是什么?

C# 事件处理程序背后的魔力是什么?,c#,events,C#,Events,Control.SizeChanged事件背后的魔力是什么?根据MSDN,如果通过编程修改或用户交互更改Size属性,则会引发此事件 但程序如何知道我手动更改了大小-->以便调用处理函数来执行某项操作。。?我猜背后存在某种数据绑定,所以当大小更改时,会调用INotification接口吗 Window.Current.SizeChanged += WindowSizeChanged; void WindowSizeChanged(object sender, Windows.UI.Core.Wi

Control.SizeChanged事件背后的魔力是什么?根据MSDN,如果通过编程修改或用户交互更改Size属性,则会引发此事件

但程序如何知道我手动更改了大小-->以便调用处理函数来执行某项操作。。?我猜背后存在某种数据绑定,所以当大小更改时,会调用INotification接口吗

Window.Current.SizeChanged += WindowSizeChanged;
void WindowSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
{
    if (e.Size.Width <= 750)
    {
        VisualStateManager.GoToState(this, "ColumnarLayout", false);
    }
    else
    {
        VisualStateManager.GoToState(this, "TabularLayout", false);
    }
}
程序如何知道我手动更改了大小

可以通过“大小”属性设置大小。属性设置器触发事件

比如说,