КультурИнфо форматер wp7 - PullRequest
0 голосов
/ 12 февраля 2011

Я использую ValueConverter в своем приложении WP7

public class Formatter : IValueConverter
{

    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (parameter != null)
        {
            string formatterString = parameter.ToString();

            if (!string.IsNullOrEmpty(formatterString))
            {
                return string.Format(culture, formatterString, value);
            }
        }
        return value.ToString();
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        //Nothing to do - the Validation will handle the value correctness
        return value;
    }

    #endregion
}

Затем я могу использовать для форматирования даты вот так:

<TextBlock Text="{Binding Path=CreatedOn, Converter={StaticResource FormatConverter}, ConverterParameter=\{0:MMM d\, hh:mm tt\}}" Foreground="#ff1e3250" VerticalAlignment="Center" FontSize="{StaticResource PhoneFontSizeSmall}" />

Мой вопрос: как я могу передатьтекущая информация о культуре пользователя?Мне известен атрибут ConveterCulture, который я могу использовать в привязке выше, но я не хочу передавать жестко закодированные значения, такие как en-US.

Я хочу попробовать передать текущую культуру из свойства CultureInfo.CurrentCulture в System.Globalization.

Я пытался использовать что-то вроде: x: Static global: CultureInfo.CurrentCulture, но явыдает ошибку, что Static не определен

Pratik

1 Ответ

0 голосов
/ 15 февраля 2011

Как вы заявляете, явная установка свойства ConverterCulture в привязке жестко закодирует вас в одну область, что не идеально.Если вы не укажете свойство ConverterCulture, то значение параметра culture в методах Convert и ConvertBack использует значение свойства Languageвместо этого, но из документации неясно, какое значение было бы, если бы оно не было задано явно.

Однако, если вы хотите узнать, в каком регионе работает пользователь, вы можете игнорировать культура параметр завершен и вместо него используется CultureInfo.CurrentUICulture.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...