2016-07-24 48 views
1

我試圖讓一個RichEditBox接管應用程序窗口的整個寬度,以響應窗口大小調整,到目前爲止,我的代碼如下:RichEditBox文字環繞UWP

<RichEditBox HorizontalAlignment="Stretch" 
      TextWrapping="WrapWholeWords" 
      Height="250" 
      Name="Intro"/> 

什麼我從上面的代碼是這樣的: enter image description here

任何想法,我怎麼能得到這個工作?爲什麼我告訴文本要包裝並且不遵循?

UPDATE

我也試過這樣:

<RichEditBox HorizontalAlignment="Stretch" 
         Height="250" 
         Name="Intro"/> 

但結果是:

enter image description here

是我遇到的問題是,它似乎HorizontalAlignment="Stretch"做沒有做任何事情。我能夠設置適當寬度的唯一方法是對其進行硬編碼,例如:Width="600"。但是,如果我這樣做,我的UI將不會正確響應大小。我也試過HorizontalContentAlingment="Stretch",但結果完全一樣。

我怎樣才能讓我的RichEditBox佔用所有可用的WidthWrap在同一時間?

回答

1

如果您查看RichEditBox.TextWrapping的文檔,您會注意到WrapWholeWords無效。您必須使用

<RichEditBox TextWrapping="Wrap"/> 
-or- 
<RichEditBox TextWrapping="NoWrap"/> 

由於Wrap是默認值,因此您可以刪除該屬性。

<RichEditBox HorizontalAlignment="Stretch" 
      Height="250" 
      Name="Intro"/> 

編輯:在回答問題的更新:

的控制只需要它的寬度的父控件。某些容器控件(例如Grid)會自動採用全寬可用,而其他容器控件(例如StackPanel)僅採用其所需的大小。將HorizontalAlignment="Stretch"StackPanel結合使用作爲父級控件,將僅使用MinWidth屬性,而不是屏幕上的全部可用寬度。有時您無法直接看到此問題,例如當你的控件在ListView的itemtemplate中時。使用Visual Studio中的Live Visual Tree查找父容器並找到問題。

簡而言之:請確保您的RichEditBox位於網格(或類似的控件)內而不是StackPanel。

+0

感謝您的建議!我更新了這個問題。似乎問題在於'RichEditBox'不想'Stretch'。請檢查出來,如果你可以,並讓我知道你是否有任何其他想法。 – CStruggle

+0

好的,所以我的RichEditBox在ListViewItem裏面......你是在說我必須在所有父母中放置Horizo​​ntalAlignment = Stretch? – CStruggle