我正在 XAML 和 WPF 中創建自定義日歷。日歷由七<Grid>列組成,可以width="1*"隨視窗自動展開(例如)。
這是現在發生的事情:

一個非常寬的元素“接管”了列并使其他列更小,這不是我想要的。
我希望它看起來像這樣:

在此示例中,列會自動擴展以填充可用寬度(視窗大小),但元素不能使一列變大。我知道實作這一點的唯一方法是設定 width 屬性(但它不會自動擴展)。
這是示例代碼。它會產生像第一張圖片一樣的輸出:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Hello world this is a sample very long text!" Grid.Column="1"/>
<TextBlock Text="Hello world !" Grid.Column="2"/>
</Grid>
我怎樣才能達到這個期望的輸出?
編輯:我在我的網格周圍使用 a ScrollViewer(垂直滾動以防有很多作業)。該屬性HorizontalScrollBarVisibility="Hidden"實際上導致了這種奇怪的行為。
uj5u.com熱心網友回復:
我不確定它是否可以解決您的問題,但是如果溢位,您可以嘗試將文本換行,如下所示:
<TextBlock Text="Some long text" TextWrapping="Wrap">
讓我知道這是否有幫助,如果沒有,我可以進一步研究!
uj5u.com熱心網友回復:
我沒有看到這種行為。當我嘗試您的代碼片段時,文本不會“接管”其他列。它被剪掉了(見下文)
不帶 TextWrapping 的示例
似乎您可能希望將 TextBlock 的 TextWrapping 屬性設定為“Wrap”。
<TextBlock Text="Hello world this is a sample very long text!" Grid.Column="1" TextWrapping="Wrap"/>
帶有 TextWrapping="Wrap" 的示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/475813.html
上一篇:打開Oookii保存檔案對話框時,帶有嵌入式WebView2的WPF應用程式突然關閉,沒有任何明顯的例外
下一篇:當Horizo??ntalAlignment和Horizo??ntalContentAlignment不起作用時,如何使WPF中的控制元件拉伸以填充可用寬度?
