【问题标题】:How to place multiple panels into a tab item?如何将多个面板放入一个选项卡项?
【发布时间】:2018-04-23 09:38:00
【问题描述】:

我在我的设计中添加了一个选项卡控件和一个选项卡项,并希望将 3 个停靠面板水平放置到此选项卡项中。但我得到一个错误:

“内容”属性设置了多次。

我想要一个像下面这样的设计。

TabItem1

PersonalInformationArea-----LocationInformations------EducationInformation
名称:TextBox1 ---------------城市:TextBox3 ------------学校:TextBox5
姓氏:TextBox2------------国家:TextBox4

我该如何设计这个?

<TabControl>
    <TabItem Header="Ana Bilgiler">
        <DockPanel x:Name="dpMainInformations" LastChildFill="False" Width="230">
            <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="5,5,5,5">
                <TextBlock Text="Müşteri Bilgileri" FontWeight="Bold" HorizontalAlignment="Stretch" Width="200"></TextBlock>
            </StackPanel>
            <StackPanel x:Name="CustName" Orientation="Horizontal" DockPanel.Dock="Top" Margin="5,5,5,5">
                <TextBlock Name="lblCustName"  Text="Müşteri adı" Width="100"/>
                <TextBox x:Name="txtMusteriAdi" Width="100"  Text="{Binding CustName}"  IsReadOnly="{Binding IsControlsEditable}"/>
                <Button x:Name="btnSelectCust" Content="Seç" Click="Button_Click_5"  IsEnabled="{Binding IsControlsEditable}"/>
            </StackPanel>
        </DockPanel>
        <DockPanel LastChildFill="False" Margin="20,5,12,5">
            <StackPanel  Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,5,0,5">
                <TextBlock Text="Uygunsuzluk Bilgileri" FontWeight="Bold"></TextBlock>
            </StackPanel>
            <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0,0,0,5">
                <TextBlock Name="lblProblemDesc" Text="Tanımı" Width="60"/>
                <TextBox MinWidth="150" MaxLength="500" Text="{Binding Definition}" UndoLimit="500" VerticalAlignment="Stretch"  TextWrapping="Wrap" AcceptsReturn="True" MinLines="4" MaxWidth="200" Margin="0,0,0,0"  IsReadOnly="{Binding IsControlsEditable}" Height="40" Width="300"/>
            </StackPanel>
        </DockPanel>
    </TabItem>
    <TabItem Header="Kapanma Bilgileri">
    </TabItem>
</TabControl>

【问题讨论】:

标签: wpf tabitem dockpanel


【解决方案1】:

您需要将DockPanels 放在容器面板中,因为TabItem 只能有一个子元素,如错误消息所述。

例如如果您希望您的 3 个停靠面板大小相同,可以使用 UniformGrid

<TabItem>
    <UniformGrid Columns="3">
        <DockPanel>
            ...
        <DockPanel/>

        <DockPanel>
            ...
        <DockPanel/>

        <DockPanel>
            ...
        <DockPanel/>
    </UniformGrid>
</TabItem>

【讨论】:

  • 这就是我想做的。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多