Месяц нельзя изменить в Silverlight DatePicker, если указан пользовательский CalendarStyle - PullRequest
0 голосов
/ 29 сентября 2011

Я взял DatePicker и настроил стиль для использования на планшете.Я обнаружил, что, хотя дни могут быть выбраны, месяц не может быть изменен.Ни нажатие на кнопку «предыдущий / следующий» или на название месяца не оказывает никакого влияния, хотя применяется стиль наведения мыши.

Я выбрал стиль Календаря по умолчанию и вставил Viewbox, чтобы увеличить размер, как предложил Майк.Taulty: http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/11/17/touched-part-5-touch-ready-controls.aspx

<Style TargetType="controls:Calendar" x:Key="TabletCalendar">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="controls:Calendar" xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows">
                <StackPanel x:Name="Root" HorizontalAlignment="Center" >
                    <Viewbox Width="480" Height="440">
                        <controlsPrimitives:CalendarItem x:Name="CalendarItem" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" xmlns:controlsPrimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls" />
                    </Viewbox>
                </StackPanel>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="controls:DatePicker" x:Key="TabletDatePicker">
    <Setter Property="CalendarStyle" Value="{StaticResource TabletCalendar}" />
    .....
</Style>

1 Ответ

0 голосов
/ 29 сентября 2011

Исправлено перемещением Viewbox на уровень в визуальном дереве, не знаю, почему здесь произошла ошибка, но теперь работает нормально!

...