WPF:当其子对象更改大小时通知visualParent

WPF:当其子对象更改大小时通知visualParent,wpf,Wpf,我有FrameworkElement,例如Grid,它有childrenCells,在另一个控件中实现。当主窗口改变大小时,我首先在网格中处理sizeChanged,然后在它的一些子窗口中处理sizeChanged。如何获得所有子级sizeChanged事件已完成处理的通知?当然,我可以在child sizeChanged中提出其他事件,并增加一些计数器,但出于某些原因,这不是最好的决定 有人能推荐一些吗?谢谢 我想你是在找那个。它在布局更新时触发,这是一个很大的问题,因此我建议在容器SizeC

我有FrameworkElement,例如Grid,它有childrenCells,在另一个控件中实现。当主窗口改变大小时,我首先在网格中处理sizeChanged,然后在它的一些子窗口中处理sizeChanged。如何获得所有子级sizeChanged事件已完成处理的通知?当然,我可以在child sizeChanged中提出其他事件,并增加一些计数器,但出于某些原因,这不是最好的决定


有人能推荐一些吗?谢谢

我想你是在找那个。它在布局更新时触发,这是一个很大的问题,因此我建议在容器SizeChanged事件的处理程序中订阅它,并在LayoutUpdated处理程序中取消订阅

例如:

    private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        // Size change started.
        LayoutUpdated += Window_LayoutUpdated;
    }

    private void Window_LayoutUpdated(object sender, EventArgs e)
    {
        // Size change completed.
        LayoutUpdated -= Window_LayoutUpdated;
    }

我想你是在找那个。它在布局更新时触发,这是一个很大的问题,因此我建议在容器SizeChanged事件的处理程序中订阅它,并在LayoutUpdated处理程序中取消订阅

例如:

    private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        // Size change started.
        LayoutUpdated += Window_LayoutUpdated;
    }

    private void Window_LayoutUpdated(object sender, EventArgs e)
    {
        // Size change completed.
        LayoutUpdated -= Window_LayoutUpdated;
    }

我认为,如果你描述一下你试图实现的目标,也许会有一个更优雅的解决方案。可能涉及到某种方法,使属性值或事件自动发生变化。我认为,如果你描述一下你通常试图实现的目标,可能会有一个更优雅的解决方案。可能涉及到某种方法,使属性值或事件的内容自动更改。看起来它是按我需要的方式工作的。非常感谢!我的问题是根据窗口中所有表Grids中不同单元格组中的单元格大小设置相同的字体大小。看起来它符合我的需要。非常感谢!我的问题是根据窗口中所有表Grids中不同单元格组的单元格大小设置相同的字体大小。