Если вы хотите, чтобы сервер MySQL решал набор символов, а не PHP как клиент (старое поведение, предпочтительнее, на мой взгляд), попробуйте добавить skip-character-set-client-handshake
к вашему my.cnf
в [mysqld]
и перезапустить mysql
.
Это может вызвать проблемы, если вы используете что-либо, кроме UTF8.
Установите для свойств IsHitTestVisible
и Focusable
значение false
.
Это работало для меня (глобальный стиль для всех датпикеров):
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox IsReadOnly="True" x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, StringFormat='dd.MM.yyyy', RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Знайте: он также устанавливает пользовательский формат строки.
похоже, что в DatePicker нет свойства для чтения только TextBox.
Попробуйте установить стиль ниже
<DatePicker x:Name="MyDatePicker">
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="IsReadOnly" Value="True"/>
</Style>
</DatePicker.Resources>
</DatePicker>
Просто установите значение IsEnabled равным false, и это должно решить вашу проблему
Добавьте свойство
Focusable = "False"
к вашему датпикеру. Это не должно позволять пользователю вводить любую строку в текстовое поле datepicker
<DatePickerTextBox Grid.Column="1" Grid.Row="3" Margin="2" Name="SelectedDate" IsReadOnly="True" Focusable="False"></DatePickerTextBox>