2011-12-27 349 views
0

我正在使用datepicker和textbox在同一行中的應用程序。根據類型的變化,我正在摺疊文本框並顯示日期選擇器。問題是,當我讓datepicker可見並且用戶選擇日期時,日期在datepicker中不可見。我正在使用的代碼是DatePicker不顯示日期

<StackPanel Orientation="Horizontal" Name="StackPanel3"> 
     <Grid> 
     <toolkit:DatePicker x:Name="DatePicker" Visibility="Collapsed"FontSize="32" Width="405" Value="{Binding RecordItem,Converter={StaticResource RecordAndTypeFieldValueConverter},ConverterParameter=RE2, Mode=TwoWay}" ValueStringFormat="{}{0:d}"/> 
     <TextBox Name="TextBox" TextWrapping="Wrap" Text="{Binding RecordItem,Converter={StaticResource RecordAndTypeFieldValueConverter},ConverterParameter=RE2, Mode=TwoWay}" TextAlignment="Left" FontSize="32" Width="405" /> 
    </Grid> 
<Image x:Name="i2" HorizontalAlignment="Left" Height="54" Margin="0,8,0,0" VerticalAlignment="Top" Width="59" Source="/Icons/play.png" MouseLeftButtonUp="FieldTools_Click"/> 
</StackPanel> 

在轉換器中我將字符串值返回給datepicker的值。

+0

你也應該發佈你的轉換器的代碼,我認爲你的問題在那裏。而薩姆答案似乎是正確的。 – BigL 2011-12-27 09:18:26

回答

1

您需要將textbox.text(串)值轉換爲DateTime值

例如,如果你正在使用DDMMYY格式(21JAN12),你可以這樣做:

using System.Globalization; 


    string date = TextBox1.Text.Trim().ToUpper(); 
       Date Time myDate= DateTime.ParseExact(date, "ddMMMyy", CultureInfo.InvariantCulture); 
       DatePicker1.Value = myDate; 

或者你可以指定您希望的日期的其他任何格式。

我更改了TextBox1和DatePicker1的上述代碼,因爲通過控件名稱命名這些東西並不是一個好主意。

0

我不是Windows Phone開發專家,所以只是猜測。 通常當控件的值無效時發生。你確定DateTimePicker接受string類型值嗎?對我來說,它應該是DateTime類型。如果是的話,你確定格式的的數據是否正確。 ?