Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight中以XAML格式设置日期/时间_C#_Silverlight_Xaml - Fatal编程技术网

C# 在Silverlight中以XAML格式设置日期/时间

C# 在Silverlight中以XAML格式设置日期/时间,c#,silverlight,xaml,C#,Silverlight,Xaml,我有一个Silverlight 4应用程序。我有一个C#DateTime对象,我正在绑定到我的UI。我希望此日期时间的格式为dd/mm/yyyytime(时区)。例如,今天将显示为 04/07/2011 at 01:13 p.m. (EST) 有没有办法做到这一点XAML?或者我需要构建转换器吗?您可以在Silverlight 4中使用,以提供绑定到的值的自定义格式 日期 日期格式有很多选项 日期时间为“2004年4月17日下午1:52:45” 您可以使用一组标准格式(标准格式) …或者您可以

我有一个Silverlight 4应用程序。我有一个C#DateTime对象,我正在绑定到我的UI。我希望此日期时间的格式为
dd/mm/yyyy
time(时区)。例如,今天将显示为

04/07/2011 at 01:13 p.m. (EST)
有没有办法做到这一点
XAML
?或者我需要构建转换器吗?

您可以在Silverlight 4中使用,以提供绑定到的值的自定义格式

日期 日期格式有很多选项

日期时间为“2004年4月17日下午1:52:45”

您可以使用一组标准格式(标准格式)

…或者您可以使用字母(自定义格式)创建自己的日期格式


我会还给你的


2011年7月4日下午1点28分(-04)

在SL5中,我发现这是可行的:

<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat=dd-MMMM-yy hh:mm}">
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat='Justification Date: \{0:dd-MMMM-yy hh:mm\}'}">

您也可以使用

StringFormat=d
在datagrid列中显示日期和时间

最后是

   <sdk:DataGridTextColumn  Binding="{Binding Path=DeliveryDate,StringFormat=d}" Header="Delivery date" Width="*" />

输出看起来像

C#:试试这个

  • yyyy(yy/yyy)-年
  • 月(如“03”),月(如“三月”)
  • dd-天(如09),ddd/dddd-天(太阳/周日)
  • 小时-12小时(上午/下午),小时-24小时
  • 嗯-分钟
使用一些delimeter,如下所示:

  • MessageBox.Show(DateValue.ToString(“yyyy-MM-dd”); 示例结果:“2014-09-30”
  • 空格式字符串: Show(DateValue.ToString()); 结果示例:“2014年9月30日0:00:00”
  • 对我来说,这很有效:

    <TextBlock Text="{Binding Date , StringFormat=g}" Width="130"/>
    
    
    
    如果要同时使用G而不是G显示秒数:

    <TextBlock Text="{Binding Date , StringFormat=G}" Width="130"/>
    
    
    
    如果要将日期类型更改为另一种类型(如波斯语),请使用以下语言:

    <TextBlock Text="{Binding Date , StringFormat=G}" Width="130" Language="fa-IR"/>
    
    
    
    我喜欢这些奇怪的字符串格式。。。这是正确的,除了格式字符串周围的引号应该是单引号之外,我必须将单引号放在另一个地方:Text=“{Binding startDate,StringFormat='{}{0:MM/dd/yy}}”,如果您使用的是
    标签而不是
    文本块
    ,回想一下,您需要使用
    ContentStringFormat
    而不是设置绑定StringFormat。所有这些都适用于textblock或textbox,但在日期选择器内部,格式不起作用。是否知道如何在日期选择器中执行此操作?如果需要日/月/年,请使用StringFormat=dd MMMM yy
    MessageBox.Show(DateValue.ToString())
    此输出取决于执行它的线程的区域性(如果不设置其系统区域性)
    <TextBlock Text="{Binding Date , StringFormat=g}" Width="130"/>
    
    <TextBlock Text="{Binding Date , StringFormat=G}" Width="130"/>
    
    <TextBlock Text="{Binding Date , StringFormat=G}" Width="130" Language="fa-IR"/>