MSDN來自:
對象的寬度,以像素爲單位。默認值是Double.NaN。除了 的特殊Double.NaN值,該值必須等於或 大於0參見上限信息
說明它不能採取*
的價值。 它可以採取的唯一特殊值是Double.NaN
(代表自動行爲):
高度和寬度的默認值不爲0;它是Double.NaN。 高度和寬度支持未設置「自動」值的能力。 由於高度和寬度是雙倍值,因此使用Double.NaN作爲特殊值來表示此「自動」行爲。佈局系統 將「自動」值解釋爲通常意味着對象應根據佈局中的可用大小而不是特定的 像素值調整大小。
也許你是混合的StackPanel Width屬性與one致力於Grid的ColumnDefinition,這不是一個double
而是GridLength
類型。
如果你希望你的StackPanel
採取寬度所有remaning空間,那麼你必須將其放在一個Grid
:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="6,6,6,6"
Background="Gray"
Orientation="Vertical"
HorizontalAlignment="Left">
...
</Grid>
OR
您也可以嘗試簡單地設置StackPanel.HorizontalAlignement屬性值爲Stretch
。
如果這些建議都不起作用,那麼問題位於ListBoxItem
或ListBox
默認模板內。
如果您覺得答案可以解決問題,請點擊綠色複選標記將其標記爲「已接受」。這將有助於未來的讀者找到他們需要的東西(並相信它),並有助於將重點放在仍然沒有答案的舊問題上;) – AirL