Интересно, что вы не можете редактировать шаблон DatePicker
. Посмотрев исходный код , я обнаружил, что по какой-то причине это происходит из-за того, что шаблон определен в главной теме элемента управления - Generic.xaml
, а само свойство BorderBrush
не определено само по себе.
Загрузите пакет - он понадобится вам для создания пользовательского элемента управления поверх существующего скелета.
Вам следует открыть этот файл темы, и если вы посмотрите на шаблон для DatePicker
, вы можете отредактировать значения для BorderBrush
и BorderThickness
. Следует помнить одну вещь: после перекомпиляции исходного кода вам необходимо убедиться, что вы используете правильную библиотеку (при ссылках в основном проекте). По умолчанию, когда вы добавляете модуль Microsoft.Phone.Controls.Toolkit , он будет ссылаться на библиотеку, зарегистрированную в GAC (при условии, что вы установили инструментарий), и возьмет ту, которая находится в папке SDK - ты не хочешь этого. Измените имя библиотеки или локальную копию.
Если вам нужен учебник для этого, Я только что написал один .
Вот измененный стиль (измененный в исходном коде для более легкого повторного использования):
<Style TargetType="controls:DatePicker">
<Setter Property="Background" Value="{StaticResource PhoneTextBoxBrush}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Azure"/>
<Setter Property="Foreground" Value="{StaticResource PhoneTextBoxForegroundBrush}"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="PickerPageUri" Value="/Microsoft.Phone.Controls.Toolkit;component/DateTimePickers/DatePickerPage.xaml"/>
<Setter Property="ValueStringFormat" Value="{}{0:d}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:DatePicker">
<StackPanel>
<ContentControl
Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
Foreground="{StaticResource PhoneSubtleBrush}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="12,0,12,-4"/>
<Button
x:Name="DateTimeButton"
Content="{TemplateBinding ValueString}"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
FontFamily="{TemplateBinding FontFamily}"
Foreground="{TemplateBinding Foreground}"
Height="72"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>