私が持っているもの:
1。XAMLのテキストブロック
2. DateTimeを含むデータベースからのクエリ?データを入力します。
私がすること:
1。DateTimeでクラス「myClass」を宣言しますか?「myDate」という名前のパラメーター
1.
テキストブロックにMyDateを表示する[わかっている]
2。「myDate」の値がnullの場合、テキストブロックに文字列を表示する。[GetメソッドはDateTimeしか返すことができないので、わかりませんか?型の値ですが、文字列型ではありません。]
3 に答える
5
次のように、テキストブロックでBindingを使用してみてください。
<TextBlock Text="{Binding myDate, TargetNullValue='Your null message'"/>
于 2012-05-12T15:10:31.237 に答える
0
文字列変数を宣言します。nullでない場合myDate
は、日付の値を割り当てます。それ以外の場合は、デフォルトに設定します。例:
string stringToShow = null;
if(myDate.HasValue)
{
stringToShow = myDate.Value.ToString();
}
else
{
stringToShow = "other string";
}
または、より簡潔に三元で
string stringToShow = myDate.HasValue ? myDate.Value.ToString() : "other string";
次にstringToShow
、の代わりにテキストブロックに表示しmyDate
ます。最後に、これを拡張メソッドでラップして、呼び出しを非常に簡単にすることができます。
public static string ToSpecialString(this DateTime? date)
{
return myDate.HasValue ? myDate.Value.ToString() : "other string";
}
myDate.ToSpecialString()
次に、フロントエンドで呼び出すことができます。
于 2012-05-12T15:05:10.023 に答える
0
'isnull'チェックを実行して情報文字列を返すコンバーターを作成する必要があります。
これにより、分離コードファイルに追加のコードを追加することなく、標準のデータバインディングを使用してXAMLから直接実行できます。
于 2012-05-12T15:05:11.903 に答える