我希望能夠動態調整內容控件的大小。將ContentPresenter的寬度限制爲其動態內容
這裏有一個簡單的例子:
...
<Slider x:Name="width" Minimum="40" Value="100" Maximum="300"/>
...
<ContentPresenter Width="{Binding Value, ElementName=width}" Content="Some value">
<ContentPresenter.ContentTemplate>
<DataTemplate>
<Grid MaxWidth="200" MinWidth="80">
<Rectangle Fill="Wheat" />
<TextBlock Text="{Binding}"/>
</Grid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
鑑於這個例子,我想迫使內容ContentPresenter的寬度保持其生成的子(80分鐘,最大寬度內 - 在這種情況下,200 )。
很明顯,用這樣一個簡單的例子,我可以改變滑塊的範圍,但是我的真實場景更加複雜。我試圖將彈出屏幕的大小限制爲其生成的內容。我無法在彈出窗口中設置明確的範圍,因爲我不知道這些內容將事先處理得如何。內容必須能夠限制自己。
不幸的是,兒童的MaxWidth和MinWidth幾乎被忽略。當父項設置得較小時,MinWidth會導致裁剪。 MaxWidth會導致大量空白空間。它看起來像我將不得不設置MaxWidth和MinWidth在同一個地方,我動態更新寬度值。
有趣的想法。我會研究這個。 – 2011-05-13 18:43:28