我的工具包有问题:DatePicker,没有SelectedDate属性。我试过把
xmlns:sys="clr-namespace:System;assembly=mscorlib"
在XAML内部。我该怎么解决它。我正在使用Windows Phone 8。
<grid>
<toolkit:DatePicker x:Name="datePicker" Foreground="Gray" Header="" Margin="0,364,10,362" Value="10/10/2010" ValueChanged="datePicker_ValueChanged"/>
</grid>
答案 0 :(得分:1)
DateTime.Now
是静态属性,因此您可以使用x:Static
标记扩展名进行绑定,如下所示:
<toolkit:DatePicker xmlns:sys="clr-namespace:System;assembly=mscorlib"
Value="{x:Static sys:DateTime.Now}"/>
sys
对应于声明DateTime的System命名空间。
我希望WP8中存在StaticResource
。如果是,上面也可以这样模拟:
<Grid xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Grid.Resources>
<sys:DateTime x:Key="CurrentDateTime"/>
</Grid.Resources>
<toolkit:DatePicker Value="{Binding Path=Now,
Source={StaticResource CurrentDateTime}, Mode=OneWay}"/>
</Grid>
PS - 在任何你想要的地方定义资源(我使用Grid来描述它只在父元素中的某个地方声明)。
如果上面似乎不起作用(理想情况下它应该有),我建议在DataContext类中使用包装器属性,它将返回今天的DateTime并与它绑定。
public DateTime CurrentDateTime
{
get
{
return DateTime.Now;
}
}
并直接绑定它:
<toolkit:DatePicker Value="{Binding Path=CurrentDateTime, Mode=OneWay}"/>
答案 1 :(得分:0)
默认情况下,WP8工具包DatePicker将当前日期显示为选定日期。
如果要设置任何其他日期,可以使用DatePicker的value
属性进行设置。
如果您想要检索所选日期,则可以使用DataPicker.Value
并根据需要进行投射。