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日历控件-Mac上显示的日期标签不正确_C#_Silverlight_Macos - Fatal编程技术网

C# Silverlight日历控件-Mac上显示的日期标签不正确

C# Silverlight日历控件-Mac上显示的日期标签不正确,c#,silverlight,macos,C#,Silverlight,Macos,我正在web应用程序中使用silverlight(v3.5)日历控件。此日历控件中一周的第一天设置为星期一 在个人电脑上,日历控制日期上方的日期标签工作正常 在Mac电脑上,日历控件正确显示日期,但日期上方的日期标签总是向右偏1天,例如,3月2日被视为周三,而实际上是周二 以前有人见过这个吗?或者有人知道我做错了什么吗 更新: 这是我正在运行的代码(想添加一个快照,但反垃圾邮件控制阻止了我)昨天是3月2日,它显示正确,但它是一个星期二,而不是星期三,因为它显示在Mac电脑上 第一个日历控件名为“

我正在web应用程序中使用silverlight(v3.5)日历控件。此日历控件中一周的第一天设置为星期一

在个人电脑上,日历控制日期上方的日期标签工作正常

在Mac电脑上,日历控件正确显示日期,但日期上方的日期标签总是向右偏1天,例如,3月2日被视为周三,而实际上是周二

以前有人见过这个吗?或者有人知道我做错了什么吗

更新: 这是我正在运行的代码(想添加一个快照,但反垃圾邮件控制阻止了我)昨天是3月2日,它显示正确,但它是一个星期二,而不是星期三,因为它显示在Mac电脑上

第一个日历控件名为“DefaultCal”。没有什么特别的,只是一个默认的日历。第二个名为“ChangedCal1”的控件将FirstDayOfWeek设置为“Monday”,以测试它是否对控件有任何影响,最后一个名为“ChangedCal2”的控件将FirstDayOfWeek设置为“Sunday”,这是Mac的默认设置

在Pc上,所有三个日历都显示正确,即使在mac上,“日期部分”(数字部分)也是正确的,只有“日期标签”(周一-周二-周三…)以某种方式向右移动了一个空间

需要说明的是,这是我创建的一个新的默认Silverlight应用程序,用于测试此日历问题,因为我想确保没有任何设置或任何其他代码会影响结果

谢谢

  <Grid x:Name="LayoutRoot">
    <StackPanel x:Name="MainP">
        <TextBlock x:Name="Temp" Text="This is the control"></TextBlock>
        <controls:Calendar x:Name="DefaultCal" ></controls:Calendar>
        <TextBlock x:Name="Temp2" Text="Monday"></TextBlock>
        <controls:Calendar x:Name="ChangedCal1" FirstDayOfWeek="Monday"></controls:Calendar>
        <TextBlock x:Name="Temp3" Text="Sunday"></TextBlock>
        <controls:Calendar x:Name="ChangedCal2" FirstDayOfWeek="Sunday"></controls:Calendar>
    </StackPanel>

听起来像Silverlight日历控件中的一个bug。 首先,我建议检查它是否在Silverlight 4中被修复。因此,下载开发者mac运行时并检查是否有任何更改

如果Silverlight 4没有解决这个问题,如果我是你,我会提交一个bug@


因为您实际上没有提供任何最小和基本的复制(xaml)和打印屏幕,所以很难确切地知道出了什么问题。但在最坏的情况下,您应该能够遍历可视树,找到文本块并更改它们

听起来像Silverlight日历控件中的一个bug。 首先,我建议检查它是否在Silverlight 4中被修复。因此,下载开发者mac运行时并检查是否有任何更改

如果Silverlight 4没有解决这个问题,如果我是你,我会提交一个bug@


因为您实际上没有提供任何最小和基本的复制(xaml)和打印屏幕,所以很难确切地知道出了什么问题。但在最坏的情况下,您应该能够遍历可视树,找到文本块并更改它们

存在与Mac上的时区设置为新西兰标准时间相关的相同问题。如果您将时区设置为Sydeny,则日历将正常运行。另外,如果执行以下DateTime.Now.ToString(“yyyy-MM-dd-ddd”),则一天就结束了。。。要解决此问题,请将以下代码添加到App.xaml.cs构造函数中,该构造函数在区域性中循环天数。不优雅,但至少Mac现在知道今天是哪一天了

if (new DateTime(2011, 3, 28).ToString("ddd") == "Tue")
{
    CultureInfo culture = new CultureInfo("en-AU");

    culture.DateTimeFormat.DayNames = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
    culture.DateTimeFormat.AbbreviatedDayNames = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
    culture.DateTimeFormat.ShortestDayNames = new[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" };

    System.Threading.Thread.CurrentThread.CurrentCulture = culture;
    System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
}

与Mac上的时区设置为新西兰标准时间有关的问题相同。如果您将时区设置为Sydeny,则日历将正常运行。另外,如果执行以下DateTime.Now.ToString(“yyyy-MM-dd-ddd”),则一天就结束了。。。要解决此问题,请将以下代码添加到App.xaml.cs构造函数中,该构造函数在区域性中循环天数。不优雅,但至少Mac现在知道今天是哪一天了

if (new DateTime(2011, 3, 28).ToString("ddd") == "Tue")
{
    CultureInfo culture = new CultureInfo("en-AU");

    culture.DateTimeFormat.DayNames = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
    culture.DateTimeFormat.AbbreviatedDayNames = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
    culture.DateTimeFormat.ShortestDayNames = new[] { "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" };

    System.Threading.Thread.CurrentThread.CurrentCulture = culture;
    System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
}