我们通过将Exception.Message写入文件来记录系统中发生的任何异常.但是,它们是在客户的文化中写成的.而土耳其的错误对我来说意义不大.
那么如何在不改变用户文化的情况下用英语记录任何错误消息呢?
我目前正在开发一个Silverlight应用程序.我有一些datagrids/textblocks,我使用标准绑定来显示值,其中一些是日期.例如
<sdk:DataGrid AutoGenerateColumns="False" IsReadOnly="True" ItemsSource="{Binding Path=MyCollection}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Path=Name, Mode=OneWay}" Header="Agent"/>
<sdk:DataGridTextColumn Binding="{Binding Path=UpdateTime, Mode=OneWay}" Header="Update Time"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<TextBlock Text="{Binding Path=LastUpdatedTime}"/>
Run Code Online (Sandbox Code Playgroud)
这个结合得很好,但是日期总是显示为美式(m/d/y),而我想要显示它们的英国风格(d/m/y).我尝试使用托管应用程序的页面上的HTML标记设置文化
<param name="uiculture" value="en-GB" />
<param name="culture" value="en-GB" />
Run Code Online (Sandbox Code Playgroud)
和Application_Start我的Silverlight应用程序的
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");
Run Code Online (Sandbox Code Playgroud)
但这些都没有任何区别.我有一个实现IValueConverter接口的自定义类,我在Convert方法上添加了一个断点,传入的CultureInfo参数是en-US,我该如何更改文化?