1)前台代码
<UserControl xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit" x:Class="SilverlightApplication13.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel>
<ComboBox x:Name="CultureOptions" SelectionChanged="OnCultureChanged" HorizontalAlignment="Left" Margin="0 20 0 0">
<ComboBoxItem Content="Arabic (Egypt)" Tag="ar-EG"/>
<ComboBoxItem Content="Chinese (Simplified)" Tag="zh-Hans"/>
<ComboBoxItem Content="Czech (Czech Republic)" Tag="cs-CZ"/>
<ComboBoxItem Content="Danish (Denmark)" Tag="da-DK"/>
<ComboBoxItem Content="Dutch (Netherlands)" Tag="nl-NL"/>
<ComboBoxItem Content="English (United States)" Tag="en-US"/>
<ComboBoxItem Content="Finnish (Finland)" Tag="fi-FI"/>
<ComboBoxItem Content="French (France)" Tag="fr-FR"/>
<ComboBoxItem Content="German (Germany)" Tag="de-DE"/>
<ComboBoxItem Content="Greek (Greece)" Tag="el-GR"/>
<ComboBoxItem Content="Hebrew (Israel)" Tag="he-IL"/>
<ComboBoxItem Content="Hindi (India)" Tag="hi-IN"/>
<ComboBoxItem Content="Hungarian (Hungary)" Tag="hu-HU"/>
<ComboBoxItem Content="Indonesian (Indonesia)" Tag="id-ID"/>
<ComboBoxItem Content="Irish (Ireland)" Tag="ga-IE"/>
<ComboBoxItem Content="Italian (Italy)" Tag="it-IT"/>
<ComboBoxItem Content="Japanese (Japan)" Tag="ja-JP"/>
<ComboBoxItem Content="Korean (Korea)" Tag="ko-KR"/>
<ComboBoxItem Content="Malay (Malaysia)" Tag="ms-MY"/>
<ComboBoxItem Content="Mongolian (Cyrillic, Mongolia)" Tag="mn-MN"/>
<ComboBoxItem Content="Norwegian, Bokmaringl (Norway)" Tag="nb-NO"/>
<ComboBoxItem Content="Persian" Tag="fa-IR"/>
<ComboBoxItem Content="Polish (Poland)" Tag="pl-PL"/>
<ComboBoxItem Content="Portuguese (Brazil)" Tag="pt-BR"/>
<ComboBoxItem Content="Romanian (Romania)" Tag="ro-RO"/>
<ComboBoxItem Content="Russian (Russia)" Tag="ru-RU"/>
<ComboBoxItem Content="Spanish (Mexico)" Tag="es-MX"/>
<ComboBoxItem Content="Swedish (Sweden)" Tag="sv-SE"/>
<ComboBoxItem Content="Thai (Thailand)" Tag="th-TH"/>
<ComboBoxItem Content="Turkish (Turkey)" Tag="tr-TR"/>
<ComboBoxItem Content="Ukrainian (Ukraine)" Tag="uk-UA"/>
<ComboBoxItem Content="Vietnamese (Vietnam)" Tag="vi-VN"/>
</ComboBox>
<my:GlobalCalendar Name="CulturedCalendar" />
</StackPanel>
</Grid>
</UserControl>
2)后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Globalization;
namespace SilverlightApplication13
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
CultureOptions.SelectedIndex = 0;
}
/// <summary>
/// 当ComboBox变更选择后修改GlobalCalendar的现实语言
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnCultureChanged(object sender, SelectionChangedEventArgs e)
{
ComboBoxItem selectedComboBoxItem = CultureOptions.SelectedItem as ComboBoxItem;
CultureInfo culture = new CultureInfo(selectedComboBoxItem.Tag.ToString());
CulturedCalendar.CalendarInfo = new CultureCalendarInfo(culture);
}
}
}