2012-03-29 2 views
1

В настоящее время у меня есть это в моем XAML:Использование WP7 Дата & Время конвертеры в код файла

<phone:PhoneApplicationPage.Resources> 
    <toolkit:RelativeTimeConverter x:Key="RelativeTimeConverter"/> 
</phone:PhoneApplicationPage.Resources> 

....

<TextBlock x:Name="txtTimeAdded" Text="{Binding DateAndTime, Converter={StaticResource RelativeTimeConverter}}" /> 

Но я не хочу, чтобы привязать его к текстовое поле, вместо этого я хочу использовать его в коде за файлом. Любые идеи, как это сделать?

Исходя из этого: http://www.jeff.wilcox.name/2011/08/august2011phonetoolkit/

ответ

3

Как это:.

var converter = new RelativeTimeConverter(); 
var relativeTime = (string)converter.Convert(e.Result.DateTime,null,null,new System.Globalization.CultureInfo("en-US")); 

txtTimeAdded.Text = relativeTime; 

(Если вы используете другие поля, вы должны передать их правильно, но с вашего Binding, это не кажется, что вы.)

+0

ОК, поэтому я пробовал это: var converter = new RelativeTimeConverter(); converter.Convert (e.Result.DateTime.ToLocalTime(), null, null, null); Но я получаю ошибку NullReferenceException во второй строке. – SniperED

+1

удалите часть '.ToLocalTime()' из вашего кода. –

+0

Итак, я решил null refrence, но теперь у меня есть это: var converter = new RelativeTimeConverter(); converter.Convert (e.Result.DateTime.ToLocalTime(), null, null, новый System.Globalization.CultureInfo («en-US»)); txtTimeAdded.Text = converter.ToString(); Но теперь txt возвращает это: «Microsoft.Phone.Controls.RelativeTimeConverter» – SniperED