我是WPF的新手,我无法解决一些问题。我刚开始一个新项目,我想制作一个StackPanel,因为我在教程中看到了这个。但现在我已经实现了StackPanel,我得到了2个错误。
对象'Window'已经有一个子节点,无法添加'StackPanel'。 '窗口'只能接受一个孩子。 9号线位置116。
属性“内容”设置不止一次。
有人可以向我解释我的错误。 这是我的代码:
<Window x:Class="CheckDatabase.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CheckDatabase" Height="350" Width="525">
<Grid Margin="10,80,10,10" >
<TextBox TextWrapping="Wrap"/>
</Grid>
<StackPanel Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Name="ButtonPanel" VerticalAlignment="Top">
<Button Margin="0,10,0,10">Button 1</Button>
<Button Margin="0,10,0,10">Button 2</Button>
</StackPanel>
提前致谢
答案 0 :(得分:3)
Window
只能包含一个孩子。但是,您的Window
包含Grid
和StackPanel
。
要解决此问题,您需要将StackPanel
置于网格内(如果这是意图)或将Grid
和StackPanel
包含在另一个定位两个元素的面板中以你想要的方式。
答案 1 :(得分:1)
像Window
这样的某些控件只能有一个孩子。您必须移除Grid
或在Grid
和Grid
周围嵌套另一个Stackpanel
。
示例:
<Grid x:Name="outerGrid">
<Grid x:Name="innerGrid"></Grid>
<StackPanel x:Name="innerStackPanel></StackPanel>
</Grid>
答案 2 :(得分:1)
Window
是ContentControl
,因此只能有一个Content
。您可以执行以下操作以获得预期的布局
<Window x:Class="CheckDatabase.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CheckDatabase" Height="350" Width="525">
<StackPanel>
<Grid Margin="10,80,10,10" >
<TextBox TextWrapping="Wrap"/>
</Grid>
<StackPanel Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Name="ButtonPanel" VerticalAlignment="Top">
<Button Margin="0,10,0,10">Button 1</Button>
<Button Margin="0,10,0,10">Button 2</Button>
</StackPanel>
</StackPanel>