2015-10-09 75 views
2

是否可能。看起來最小寬度是固定的,你不能設置讓我們說月份列的寬度。你一個月拿電池,如果你使用的整數(2)DatePicker或TimePicker XAML設置寬度UAP

谷歌並沒有幫助希望這將:-)

<DatePicker 
     YearVisible="False" 
     DayFormat="{}{day.integer(2)}" 
     MonthFormat="{}{month.integer(2)}" 
     Grid.Row="1" 
     > 

回答

2

可以在混合打開您的項目,然後用鼠標右鍵單擊這是真正的大在對象窗口中選擇DatePicker並選擇編輯模板 - >編輯副本。

單擊確定後,樣式將粘貼到您的XAML中。直到你到達ContentPresenter控件,在那裏你會找到一個帶有列定義的網格。

它應該是這個樣子

.... 
<ContentPresenter x:Name="HeaderContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" Margin="0,0,0,8" Visibility="Collapsed" x:DeferLoadStrategy="Lazy"/> 
    <Button x:Name="FlyoutButton" Background="{TemplateBinding Background}" Foreground="{TemplateBinding Foreground}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" IsEnabled="{TemplateBinding IsEnabled}" Style="{StaticResource DatePickerFlyoutButtonStyle}"> 
     <Grid x:Name="FlyoutButtonContentGrid"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition x:Name="DayColumn" Width="78*"/> 
       <ColumnDefinition x:Name="FirstSpacerColumn" Width="Auto"/> 
       <ColumnDefinition x:Name="MonthColumn" Width="132*"/> 
       <ColumnDefinition x:Name="SecondSpacerColumn" Width="Auto"/> 
       <ColumnDefinition x:Name="YearColumn" Width="78*"/> 
      </Grid.ColumnDefinitions> 
.... 

更改列,你的願望

1

這給我介紹了使用混合,我有不知什麼原因,以前避免。我注意到,在根據需要更改ColumnDefinition之後,還應該查看「MinWidth」和「MaxWidth」Setter屬性,以查看是否需要更改它們以允許您設置的寬度。