【发布时间】:2012-11-20 23:54:54
【问题描述】:
我有一个 Silverlight Datagrid,其中一列是日期列。
所以我使用了DataTemplateColumn 如下
<sdk:DataGridTemplateColumn Header="Recieved Date" Width="Auto">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=RecievedDate, StringFormat='MM/dd/yyyy'}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<sdk:DatePicker Name="dtpFinancialAndComplianceLog" Text="{Binding Path=RecievedDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
问题是当我点击DatePicker控件时,默认日期设置为1/1/0001?
如何将我的日期选择器设置为编辑模式下的当前日期?
我试过 DisplayDateStart="{x:Static sys:DateTime.Now}" 。但这不起作用,因为 Static 仅适用于 WPF 而不适用于 Silverlight。
在编辑时将我的日期选择器设置为当前日期的最佳方法是什么?
【问题讨论】:
-
如果省略
DisplayDate,Silverlight 日期选择器不是默认为今天的日期吗? -
@paul 谢谢..实际上这是一个错字..“显示日期”从来没有出现过。这是我尝试过的一个选项..我已经更新了问题
-
好吧,如果您总是想从今天开始,您可以尝试更新绑定到 OneWay 的方向(即不需要任何绑定代码来尝试设置框中的开始内容)
-
@paul :非常感谢。您的第一条评论是解决问题的关键。我省略了显示日期。最初,DatePicker 绑定到 DateTime 属性。它的初始值为 1/1/0001 。我将其更改为字符串,从那时起 datepicker 默认为今天的 date 。我也将绑定更改为 Oneway。您能否将此标记为答案,以便我接受?
标签: c# .net silverlight date datepicker