我有存儲在一個字符串屬性一串數字:Silverlight的格式化字符串綁定採用的StringFormat
1234567890
我想輸出到顯示:
(123) 456-7890
我可以在一個格式化這個在使用StringFormat屬性進行綁定時的TextBlock?我在我的綁定表達式中嘗試了諸如stringformat='{0:(###) ###-####}'
之類的東西,但沒有任何成功。
我有存儲在一個字符串屬性一串數字:Silverlight的格式化字符串綁定採用的StringFormat
1234567890
我想輸出到顯示:
(123) 456-7890
我可以在一個格式化這個在使用StringFormat屬性進行綁定時的TextBlock?我在我的綁定表達式中嘗試了諸如stringformat='{0:(###) ###-####}'
之類的東西,但沒有任何成功。
的#佔位符是與數字類型使用。據我所知,字符串中沒有佔位符。要格式化字符串,首先將其轉換爲數字類型,然後應用格式化。這隻需要一串數字。可能會拋出FormatException或OverflowException。我通過向我的實體添加了一個新屬性來解決問題。
public string FormattedPhone
{
get { return Convert.ToDouble(this.Phone).ToString("(###) ###-####"); }
}
partial void OnPhoneChanged()
{
this.RaisePropertyChanged("FormattedPhone");
}
我的結合則是這樣的:
<TextBlock Text="{Binding Path=FormattedPhone, Mode=OneWay}"/>
試試這個:
<TextBox Text="{Binding PhoneNumber, StringFormat='(###) ###-####'}" />
這並沒有爲我工作。這是我的代碼:' '這是在工具提示中,但是應該不重要?輸出:'1234567890' –
DaveB
Phone屬性是字符串還是數字?我用數字(Int)屬性試了一下,它對我很有用。它不會使用字符串屬性,因爲該字符串格式適用於數字。 –
正如我在我的問題中提到的那樣,它是一個字符串屬性,並且是的,這就是爲什麼格式不能應用於它的原因。 - 感謝您的迴應 – DaveB