Visual C#2013-在WPF表单编辑器中添加新元素时元素消失



当我在VC#2013的编辑器中尝试向WPF表单添加多个元素时,上一个元素会消失。最后,表单中不能有多个项目。我已经写了一些代码,所以我不希望从头开始。这种形式除了无边界、全屏和最大化之外没有什么特别的。这是当前表单的XAML代码:

    <Window x:Class="queue_bigscreen.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="1080" Width="1920" WindowStyle="None" ResizeMode="NoResize" WindowState="Maximized" Background="#FF9EA7CD">
    <Label x:Name="nowServingLabel" Content="0" Margin="42,56,1160,131" Foreground="White" Height="893" FontSize="700" HorizontalContentAlignment="Center">
        <Label.Effect>
            <DropShadowEffect ShadowDepth="13"/>
        </Label.Effect>
    </Label>
</Window>

这是我选择一个文本框并尝试将其添加到表单后得到的:

<Window x:Class="queue_bigscreen.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="1080" Width="1920" WindowStyle="None" ResizeMode="NoResize" WindowState="Maximized" Background="#FF9EA7CD">
<TextBlock HorizontalAlignment="Left" Margin="1332,382,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>

正如你所看到的,如果我尝试添加其他内容,标签就会消失,我添加的文本框也会随之消失。我是做错了什么,还是一个已知的错误?

您需要将项目放入容器中。Window只能有一个根元素,因此要在表单上获得多个元素,需要有一个允许子元素的元素。

最接近Windows窗体Form的是Grid。然后,您可以在其中放置控件,并进行绝对和相对定位。它也是默认的,所以我假设您不小心从XAML中删除了它(或者在设计器中按delete时过于激进)。

带有标签和文本框的表单示例:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Label Content="Label" HorizontalAlignment="Left" Margin="23,30,0,0" VerticalAlignment="Top"/>
        <TextBox HorizontalAlignment="Left" Height="23" Margin="66,32,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
    </Grid>
</Window>

最新更新