1

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

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

myCanvas.width = myCanvas.width + 1;

有没有这样的事件:

private void CanvasWidthChanged(object sender, WidthChangedEventArgs e)
{

}
4

3 回答 3

4

使用 SizeChanged 事件。

myCanvas.SizeChanged += myCanvas_SizeChanged;

private void myCanvas_SizeChanged(object sender, SizeChangedEventArgs e)
{

}
于 2013-06-06T14:46:21.293 回答
2

您应该能够使用SizeChanged事件。

事件 args 中有一个WidthChanged属性,您可以使用它来查看宽度是否发生了变化。

于 2013-06-06T14:45:22.010 回答
0

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

public class DXFCanvas : Canvas
{
    protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
    {
        base.OnRenderSizeChanged(sizeInfo);

        // Your action ...
        // (SizeChangedInfo contains old and new size)
    }
}
于 2016-03-16T12:26:46.400 回答