有沒有辦法水平拉伸WPF日曆控件?該控件將讓我設置HorizontalAlignment =「Stretch」,但這與將屬性設置爲「Center」具有相同的效果。它會更改控件的寬度,但顯示的日曆在控件的中心保持相同的大小。我想將顯示的日曆伸展到控件的邊緣。WPF:水平拉伸日曆?
我似乎記得它可以用ViewPort完成,但我找不到任何顯示如何操作的東西。謝謝你的幫助。
有沒有辦法水平拉伸WPF日曆控件?該控件將讓我設置HorizontalAlignment =「Stretch」,但這與將屬性設置爲「Center」具有相同的效果。它會更改控件的寬度,但顯示的日曆在控件的中心保持相同的大小。我想將顯示的日曆伸展到控件的邊緣。WPF:水平拉伸日曆?
我似乎記得它可以用ViewPort完成,但我找不到任何顯示如何操作的東西。謝謝你的幫助。
我想你可能會尋找Viewbox:
定義內容裝飾,可以 拉伸和縮放的任何一個孩子 填充可用空間。
如果您將日曆設置爲Viewbox的子項,它將應用ScaleTransform以使其佔用所有可用空間。
<Viewbox>
<Calendar/>
</Viewbox>
我也面臨着同樣的問題,但我找到了答案其他地方不完整的方式,所以我將離開這裏以供將來參考,畢竟這被張貼7年前!
在我的情況下,我想調整由DatePicker控件顯示的日曆。
日曆創建樣式:
<Style x:Key="styleCalendar" TargetType="{x:Type Calendar}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Calendar}">
<!-- Wrapping in ViewBox will enlarge calendar of that size.-->
<Viewbox Height="300">
<CalendarItem x:Name="PART_CalendarItem"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"/>
</Viewbox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然後,只需調用它的的DatePicker:
<DatePicker CalendarStyle="{StaticResource styleCalendar}"/>
請注意,我只specificy高度的視框中,那是因爲(從我讀)ViewBox均勻拉伸,所以它將佔用兩個維度中的最小值。
謝謝!注意其他用戶 - 視圖框水平和垂直伸展。它不能僅在一個方向上拉伸,例如水平。 – 2010-08-13 03:57:50
5歲的答案仍然完美。謝謝! – 2015-12-02 16:26:08