【发布时间】:2015-10-05 14:57:52
【问题描述】:
我正在尝试以编程方式在我的 XAML 中创建一个按钮弹出:
<Page.Resources>
<Button x:Key="LaunchFlyout" Content="LAUNCH">
<Button.Flyout>
<Flyout Placement="Top">
<Grid Width="200" Height="200">
<StackPanel>
<Rectangle Fill="Red" Width="100" Height="100" />
<Rectangle Fill="Green" Width="100" Height="100" />
</StackPanel>
</Grid>
</Flyout>
</Button.Flyout>
</Button>
</Page.Resources>
嵌套在grids 我有:
<Grid x:Name="launchBtn_grid" Grid.Column="1">
</Grid>
然后在我的 Page_Loaded 方法中的代码中我有:
bool hasContainer = localSettings.Containers.ContainsKey("appStatus");
if (!hasContainer) {
Button button = (Button)this.Resources["LaunchFlyout"];
launchBtn_grid.Children.Add(button);
}
else {
Button button = new Button();
button.Content = "LAUNCH";
button.Click += launch_btn_Click;
launchBtn_grid.Children.Add(button);
}
当我调试它时,它到达 IF 语句并到达这一行 launchBtn_grid.Children.Add(button); 然后我得到这个错误 元素已经是另一个元素的子元素。
有人知道为什么吗?我已经看过了,但它们并不存在,所以我不明白为什么它会给我这个错误。有谁知道我做错了什么?
【问题讨论】:
-
抛出异常时,
button.Parent是什么? -
@BenVoigt 它说它为空?
标签: c# windows win-universal-app