Vous pouvez simplement cacher la zone de texte de contrôle (avec une largeur inférieure), vous êtes propre exposes (en option régler la IsEnabled false) et utiliser un élément de liaison et le convertisseur. Si vous utilisez MVVM, définissez le DataContext sur votre ViewModel. Je suppose qu'une autre option serait d'écraser le DataTemplate pour ne pas inclure la zone de texte et faire la même chose.
<StackPanel Orientation="Horizontal" Height="22">
<TextBox x:Name="textBox2" Width="106" Text="{Binding ElementName=datePicker2, Path=SelectedDate, Mode=TwoWay, Converter={StaticResource internationalDateTimeFormatConverter}}" />
<controls:DatePicker x:Name="datePicker2" IsTabStop="False" SelectedDate="{Binding TargetDatePicker, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" Width="23" HorizontalAlignment="Left" />
</StackPanel>
MISE À JOUR: La TwoWay de liaison de la zone de texte à le sélecteur de date fonctionne bien, mais il ne met pas à jour la propriété ViewModel. Donc, je vais définir le IsEnabled = False et l'appeler bien.
Avez-vous besoin d'un format de date différent pour le sélecteur de date uniquement, ou serait-il travailler aussi pour définir un format de date spécifique pour votre application entière? – ISW
Juste pour le sélecteur de date par exemple. –