2016-04-13 4 views
0

私はチャットアプリケーションを作成しようとしていて、チャットログのRichTextBoxコントロール、メッセージを入力するためのテキストボックス、およびユーザーのオンラインボードを利用しようとしています。しかし、WPFでは1つ以上のRichTextBoxを持つことはできません。ウィンドウに唯一のリッチテキストボックスを貼り付けると、そのコピーが作成されますが、最初のRTBは削除されます。それはまた私がドラッグアンドドロップすることを許可しません。より多くのコントロールを落とすためには、何を調整する必要がありますか?WPFは1つ以上のRichTextBoxを許可しません

+3

あなたのXAMLコードのビットがここで有用であろう、私はそれは、Visual Studioデザイナの問題である –

+0

可能性が高いと思います。 RichTextBoxをPanelではなくContentControlに追加(ドラッグ&ドロップ)しようとしている場合、デザイナーは以前のコンテンツ(以前のRTB)を置き換えます – ASh

+0

http://pastebin.com/aLY5ia0A、コード! – VaggelisD

答えて

0

あなたがGridまたはウィンドウでStackPanelDockPanel、などのような他のPanel置き、その中に2 RichTextBoxesを置くことができます。 WindowContentControlであり、1つのコントロールしか保持できないことを意味します。グリッドはPanelなので、必要なだけ多くのコントロールを保持できます。

グリッドで列と行を作成するか、Marginを明示的に使用してRichTextBoxを配置することができます。

+0

ああはい。 .. .... –

0

Windowには子要素が1つしかありません。あなたの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> 
関連する問題