【问题标题】:Get x:Uid propertry of TextBlock in Metro获取 Metro 中 TextBlock 的 x:Uid 属性
【发布时间】:2013-12-13 03:40:28
【问题描述】:

有什么方法可以在 Metro 应用程序中获得 x:uid 的控制属性。

            <Button x:Name="ViewPanelButton" 
                    Grid.Column="3" 
                    Grid.Row="0" 
                    x:Uid="s_View" 
                    VerticalAlignment="Bottom" 
                    Margin="5,0,0,5" 
                    HorizontalAlignment="Center" 
                    Style="{StaticResource MainPageButtonStyle}" 
                    Click="ViewPanelButton_Click" 
                    Height="22" 
                    Width="Auto" />

我想从后面的代码中获取这个 x:Uid 属性。它是 WPF 中的财产,但不是地铁中的财产。有什么方法可以在 Metro 应用程序中获取此属性?

【问题讨论】:

  • 嗯,没有暴露。直到现在都没有想过。嘘。我很想知道你为什么要访问这个。
  • 因为当用户想要更改应用程序语言而不是系统语言时,我需要它进行本地化,因为已经呈现页面而不更改其文本。

标签: c# windows-8 winrt-xaml


【解决方案1】:

很遗憾,我已与平台团队确认您(目前)不能这样做。

但是,您可以手动设置默认语言。

public void Setup()
{
    var r = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView();
    r.QualifierValues.MapChanged += QualifierValues_MapChanged;
}

public void Cleanup()
{
    var r = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView();
    r.QualifierValues.MapChanged -= QualifierValues_MapChanged;
}

void QualifierValues_MapChanged(Windows.Foundation.Collections.IObservableMap<string, string> sender, Windows.Foundation.Collections.IMapChangedEventArgs<string> @event)
{
    // you can fetch the default, and test if you need change
    string d;
    var m = Windows.ApplicationModel.Resources.Core.ResourceManager.Current.DefaultContext.QualifierValues;
    if (!m.TryGetValue("Language", out d))
        return;

    // you can set your own or use the first (default)
    var l = Windows.System.UserProfile.GlobalizationPreferences.Languages.First();
    Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = l;
}

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多