2017-03-17 88 views
-2
<DataTemplate x:Key="myContinuousTemplate"> 
        <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="Auto" MaxWidth="300"/> 
        <ColumnDefinition Width="20" /> 
       </Grid.ColumnDefinitions> 
        <messenger:BindableRichTextBox Grid.Column="1" 
          MaxWidth="300" 
          Style="{StaticResource richTextBoxStyle}" TextChanged="BindableRichTextBox_TextChanged"> 
        <messenger:BindableRichTextBox.Document> 
         <MultiBinding Converter="{StaticResource searchTextHighlightConverter}"> 
          <Binding RelativeSource="{RelativeSource Self}" Mode="OneTime"/> 
          <Binding Path="message" /> 
          <Binding Path="message_sn" /> 
          <Binding Mode="TwoWay" ElementName="conversationControl" Path="SearchText" /> 
          <Binding Mode="TwoWay" ElementName="conversationControl" Path="MatchedMessageSN" /> 
         </MultiBinding> 
        </messenger:BindableRichTextBox.Document> 
       </messenger:BindableRichTextBox> 
     </DataTemplate> 

消息正在執行。 我想獲取數據模板的richtextbox屬性。WPF大小RichTextBox根據內容

最終目標是通過您輸入的字符來更改richbox的長度。

例如,與Facebook Messenger一樣,我想伸展到字母的長度,但是當它達到最大長度時,我想垂直拉伸它。

+0

「enter image description here」is example .. –

+0

你可以在這裏找到答案: http://stackoverflow.com/questions/10347518/how-to-make-a-rich-textbox-automatically-size-in -wpf – P10trek

+0

@ P10trek我已經試過了,但失敗了。 –

回答

0

將Horizo​​ntalAlignment和VerticalAlignment設置爲Stretch以外的值(這是默認值)。這將使文本框縮小以適應其內容。希望這將有助於

+0

不要用Stretch使用別的東西,如Top,left etc ... – AKN

+1

鑑於所有25個屬性,但它沒有改變....幫我): –

0

儘量把你的richtexbox在StackPanel中我嘗試下面的代碼,它exacly工作如u想:要獲得

 <StackPanel> 
     <RichTextBox/> 
     <RichTextBox/> 
     <RichTextBox/> 
     <RichTextBox/> 
     <RichTextBox/> 
     <RichTextBox/> 
    </StackPanel> 

行爲標準behaviuor。檢查你的richtextbox的風格,可能會有一些錯誤。