WPF不允许超过1个RichTextBox

时间:2016-04-13 14:02:05

标签: c# wpf

我试图创建一个聊天应用程序,我试图利用RichTextBox控件进行聊天记录,用户输入消息的文本框和用户在线板。但是WPF不允许我拥有超过1个RichTextBox。每当我复制粘贴窗口上唯一的richtextbox时,WPF会创建它的副本但删除第一个RTB。它也不允许我拖放一个。我有什么调整以允许自己放弃更多控件?

2 个答案:

答案 0 :(得分:0)

您可以在窗口中放置Grid或任何其他Panel,例如StackPanelDockPanel等,并在其中放置2个RichTextBox。 WindowContentControl,这意味着它只能容纳1个控件。网格是Panel,因此它可以容纳任意数量的控件。

您可以在网格中制作列和行,或明确使用边距来定位RichTextBox es。

答案 1 :(得分:0)

任何Window只能有一个子元素。在您的情况下,根据您打算如何布置RTB,您需要某种Panel。这是一个很好的place to start

这是一个非常快速的例子(剥离),解释了一点:

<Window>
    <!-- You could put a RTB here, but that would become your root control, and it can't have any siblings -->
    <Grid>

        <!-- Use something like this to layout your inner RichTextBoxes -->
        <Grid.RowDefinitions>
            <RowDefinition Height="9*" /> // using 9/10 of the available vertical space
            <RowDefinition Height="1*" /> // using 1/10 of the available vertical space
        </Grid.RowDefinitions>

        <!-- Here you can put multiple controls -->
        <RichTextBox Grid.Row="0"></RichTextBox>
        <RichTextBox Grid.Row="1"></RichTextBox>

    </Grid>
</Window>