获取更改画布宽度的事件

时间:2013-06-06 14:39:46

标签: c# wpf events canvas

当我在运行时更改画布宽度时,我可以在画布宽度发生变化时获得一个事件吗?

在运行时槽上改变我的宽度:

myCanvas.width = myCanvas.width + 1;

是否有类似的事件:

private void CanvasWidthChanged(object sender, WidthChangedEventArgs e)
{

}

3 个答案:

答案 0 :(得分:4)

使用SizeChanged事件。

myCanvas.SizeChanged += myCanvas_SizeChanged;

private void myCanvas_SizeChanged(object sender, SizeChangedEventArgs e)
{

}

答案 1 :(得分:2)

您应该能够使用SizeChanged事件。

事件args中有一个WidthChanged属性,可用于查看宽度是否发生变化。

答案 2 :(得分:0)

您可以创建自己继承自Canvas的类,并在此类中更改大小。像

这样的东西
public class DXFCanvas : Canvas
{
    protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
    {
        base.OnRenderSizeChanged(sizeInfo);

        // Your action ...
        // (SizeChangedInfo contains old and new size)
    }
}