Wpf 如何通知容器控件子控件的大小已更改?
我正在制作一个UserControl,它是StackPanel的子控件。当控件的内容更改时,控件的大小也应该更改。UserControl应该如何通知StackPanel(或任何其他容器控件)其大小已更改Wpf 如何通知容器控件子控件的大小已更改?,wpf,Wpf,我正在制作一个UserControl,它是StackPanel的子控件。当控件的内容更改时,控件的大小也应该更改。UserControl应该如何通知StackPanel(或任何其他容器控件)其大小已更改 例如,如果您有一个Label控件并更改了Content元素,那么它将被调整大小。它是如何做到这一点的?调用InvalidateMeasure()。这会导致StackPanel(或其他容器控件)重新计算其布局。此外,除InvalidateMeasure外,如果大小更改是依赖项属性更改的结果,则可以
例如,如果您有一个Label控件并更改了Content元素,那么它将被调整大小。它是如何做到这一点的?调用InvalidateMeasure()。这会导致StackPanel(或其他容器控件)重新计算其布局。此外,除InvalidateMeasure外,如果大小更改是依赖项属性更改的结果,则可以设置FrameworkPropertyMetadata.AffectSmasure标志:
public static DependencyProperty ToolbarProperty =
DependencyProperty.Register("Toolbar", typeof(UIElement),
typeof(EditorWindow),
new FrameworkPropertyMetadata(null,FrameworkPropertyMetadataOptions.AffectsArrange|
FrameworkPropertyMetadataOptions.AffectsMeasure|FrameworkPropertyMetadataOptions.AffectsRender));