Silverlight 实现GlobalCalendar的国际化

本文介绍了一个使用Silverlight实现的多语言切换示例。通过一个下拉框选择不同的语言选项,能够即时改变界面上GlobalCalendar组件的语言显示。该示例展示了如何在XAML中设置ComboBox并绑定多种语言选项,以及在后台代码中根据所选语言更新GlobalCalendar的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值