检测孩子何时添加的有效方法是什么StackPanel
?我正在使用StackPanel
作为示例,它可以是Grid
,WrapPanel
或者派生自 Panel 的任何控件。
我正在尝试以两种方式添加控件。使用 XAML 和 AttachedProperty 的 PropertyChanged。
这是一些代码:
public class Region : UserControl
{
public static readonly DependencyProperty RegionNameProperty;
static Region()
{
RegionNameProperty = DependencyProperty.RegisterAttached(
"RegionName",
typeof(string),
typeof(Region),
new UIPropertyMetadata(new PropertyChangedCallback((s,e)=>
{
if(s is StackPanel)
{
StackPanel stack = (StackPanel)s;
stack.Children.Add(new Button(){Content="Test2"});
}
}))
);
}
}
XAML:
<StackPanel Name="stack2" local:Region.RegionName="MyRegion1">
<Button Content="Test 1"/>
</StackPanel>
在这里,您可以看到在按钮“测试 1”之前添加了按钮“测试 2”。
谢谢,