Xaml 网格如何知道何时重新布局?

Xaml 网格如何知道何时重新布局?,xaml,uwp,Xaml,Uwp,我想创建一个子类来使用yogalayout库来计算其子对象的位置和位置。我按照指示去做。我看到,当一个子项更改大小时,Grid知道如何进行布局,但我的控件不知道(即既不调用MeasureOverride也不调用ArrangeOverride()) 我怎么知道一个孩子(或者更糟糕的是,一个孩子的孩子)的体型何时变化 我已经创建了一个示例项目,它再现了我正在讨论的问题 (注意:我将前面提到的StackPanel的问题改为Grid;我不相信它是Grid独有的,但这是我制作简单复制案例的方式。) 我看到

我想创建一个子类来使用yogalayout库来计算其子对象的位置和位置。我按照指示去做。我看到,当一个子项更改大小时,Grid知道如何进行布局,但我的控件不知道(即既不调用
MeasureOverride
也不调用
ArrangeOverride()

我怎么知道一个孩子(或者更糟糕的是,一个孩子的孩子)的体型何时变化

我已经创建了一个示例项目,它再现了我正在讨论的问题

(注意:我将前面提到的StackPanel的问题改为Grid;我不相信它是Grid独有的,但这是我制作简单复制案例的方式。)

我看到,当一个子对象更改大小时,StackPanel知道如何进行布局,但我的控件不知道(即,既不调用MeasureOverride也不调用ArrangeOverride()

如果您没有子元素的特定宽度和高度属性,当您获取其属性时,它将返回NaN,并且您无法使用
width=newWidth
设置值,它也无法调用大小更改事件,请调用方法更改元素大小,如下所示。然后它将调用
MeasureOverride

 MyTextBlock.SetValue(WidthProperty, 15);

此帖有更新吗?谢谢您的回复,@NicoZhu MSFT。我已经创建了一个示例项目并更新了我的问题。