2017-06-30 6 views
0

私はそうのようなコードでXamarin.FormsでLabelを使用しています:Xamarin.FormsのコードでTimeSpan文字列形式を使用するには?

var label = new Label(); 
label.SetBinding(Label.TextProperty, new Binding("Time", stringFormat: "{}{0:hh\\:mm}", mode: BindingMode.TwoWay, source: this)); 

しかし、これはエラーを返します。

System.FormatException: Input string was not in a correct format.

をしかし、これはXAMLで動作します。

<Label Text="{Binding StartTime, StringFormat='{}{0:hh\\:mm}'}}"/> 

方法Xamarin.FormsのTimeSpanのバインディングで文字列フォーマットを使用しますか?

+0

はあなたhttps://stackoverflow.com/a/4563472/3185569のためにこの仕事をしていますか? XAMLに固有のものとして '{}'は必要ないと思われます。 – user3185569

+0

@ user3185569 XAMarin.Formsコードで特に必要です。 – user1

+0

XAMLエスケープ文字列 '{}'を削除しようとしましたか? – user3185569

答えて

3

Xamarinフォームは、通常使用するすべての基本string.Formatオプションを使用します。だから、日時ためstringFormat変数は次のようになります。

"{0:MM/dd/yy H:mm:ss zzz}" 

あなたのフォーマット文字列の括弧の追加のペアは、私には場違いに見えます。あなたがここで達成しようとしている何のために次のことを試みることができる:

@"{0:hh\:mm}" 
関連する問題