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

时间:2014-08-02 22:31:50

标签: c# events

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);
    }
}

1 个答案:

答案 0 :(得分:3)

  

程序如何知道我手动改变了大小

您可以通过Size属性设置大小。属性设置器触发事件​​。

例如,请参阅How to: Implement Property Change Notification