6
我有一個WPF TextBox
綁定到視圖模型號碼屬性Distance
到Caliburn.Micro命名約定。我希望能夠自定義TextBox
字符串格式,同時保留Caliburn.Micro已建立的約定綁定。我應該怎麼做?定製Caliburn.Micro約定字符串格式約定TextBox
從我視圖模型:
public double Distance
{
get { return _distance; }
set
{
_distance = value;
NotifyOfPropertyChange(() => Distance);
}
}
從我查看:
<TextBox x:Name="Distance"/>
當Distance
是非零的,我想用一組固定的顯示數小數點,並且當Distance
爲零時,我希望文本框爲空。
使用顯式結合我可以TextBox.Text
屬性綁定到Distance
,然後我可以同時設置StringFormat
:
<TextBox x:Name="Distance" Text="{Binding Distance, StringFormat=0.000;;#}"/>
然而,明確Text
綁定然後會短路Caliburn.Micro命名約定約束。是否可以自定義字符串格式,而不必同時設置TextBox.Text
屬性的綁定路徑,以便我可以完全依賴於Caliburn.Micro來處理Distance
至TextBox
的綁定?
簡答案是否定的。要麼使用Caliburn生成的綁定,要麼必須寫出完整的綁定表達式,如同樣例中所示。 – nemesv 2012-08-16 22:59:59
距離不一定是數字,它是您想要在視圖中呈現的模型。因此,不要將該屬性設置爲Double,使其成爲視圖中所需的字符串。 – 2012-08-22 02:59:47
失敗,只是手動綁定一切 - 唯一受名稱約定約束的是默認的可綁定道具或操作。一個綁定是不是太可怕,看是不是? – Charleh 2013-05-03 18:02:40