WPF xaml-数据网格和按钮can';不能共存
本文关键字:不能 can 按钮 数据 xaml- 数据网 网格 WPF | 更新日期: 2023-09-27 18:01:15
所以我试图在我的wpf表单中添加一个数据网格和一个按钮。
<Window x:Class="Database_Filler.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Database Filler" Height="350" Width="557">
<DataGrid x:Name="data" HorizontalAlignment="Left" VerticalAlignment="Top" Height="230" Width="520"/>
<!--<Button Content="Run Query" HorizontalAlignment="Left" Margin="468,294,0,0" VerticalAlignment="Top" Width="75" Click="Button1_Click"/>-->
</Window>
但每当我取消注释按钮时,我都会收到错误:"属性'Content'设置了多次。">
Window
是ContentControl
,因此只能承载一个元素。如果您想承载多个元素,那么您需要某种能够承载多个子元素的Panel
。您可以从Grid
、StackPanel
、WrapPanel
等少数实现中进行选择,具体取决于您希望如何安排项目
<Window x:Class="Database_Filler.MainWindow" ...>
<StackPanel>
<DataGrid x:Name="data" HorizontalAlignment="Left" VerticalAlignment="Top" Height="230" Width="520"/>
<Button Content="Run Query" HorizontalAlignment="Left" Margin="468,294,0,0" VerticalAlignment="Top" Width="75" Click="Button1_Click"/>
</StackPanel>
</Window>
编辑
最常用的Panel
类型:
Grid
:定义由列和行组成的灵活网格区域DockPanel
:定义一个区域,在该区域中可以相对于彼此水平或垂直排列子元素Canvas
:定义一个区域,通过使用相对于Canvas区域的坐标,可以在其中显式定位子元素StackPanel
将子元素排列成可以水平或垂直定向的单行WrapPanel
将子元素从左到右依次放置,将内容打断到包含框边缘的下一行。后续排序从上到下或从右到左依次进行UniformGrid
提供一种在网格中排列内容的方法,其中网格中的所有单元格都具有相同的大小
窗口只能有一个子元素。你需要把它放在一个网格或堆叠面板内
<Window x:Class="Database_Filler.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Database Filler" Height="350" Width="557">
<Stackpanel>
<DataGrid x:Name="data" HorizontalAlignment="Left" VerticalAlignment="Top" Height="230" Width="520"/>
<Button Content="Run Query" HorizontalAlignment="Left" Margin="468,294,0,0" VerticalAlignment="Top" Width="75" Click="Button1_Click"/>
</Stackpanel>
</Window>