WPF DataPicker修改默认的水印文本
一:转载:http://social.msdn.microsoft.com/Forums/vstudio/en-US/f8c98d0c-21f1-45c0-a8ff-c1ee3a260c6a/wpf-datepicker-texts-and-multilanguage-support?forum=wpf
<Window.Resources> <Style TargetType="{x:Type DatePickerTextBox}"> <Setter Property="Text" Value="choisissez la date" /> </Style> </Window.Resources> <Grid> <DatePicker x:Name="_datePicker1" SelectedDateChanged="datePicker1_SelectedDateChanged" /> </Grid>
and code:
private void datePicker1_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { if (_datePicker1.SelectedDate != null) return; FieldInfo fiTextBox = typeof(DatePicker) .GetField("_textBox", BindingFlags.Instance | BindingFlags.NonPublic); if (fiTextBox != null) { DatePickerTextBox dateTextBox = (DatePickerTextBox)fiTextBox.GetValue(_datePicker1); if (dateTextBox != null) { PropertyInfo piWatermark = dateTextBox.GetType() .GetProperty("Watermark", BindingFlags.Instance | BindingFlags.NonPublic); if (piWatermark != null) { piWatermark.SetValue(dateTextBox, "...", null); } } } }
二、也可以修改DatePicker的Language属性,可根据需要设置不同国家语言的风格,这样更方便,VerticalContentAlignment可设置DatePicker显示内容居中对齐
<DatePicker Height="30" Name="datePicker1" VerticalContentAlignment="Center" Width="134" Margin="44,12,100,218" Language="en-US"> //该处采用美国语言设置