2010-03-19 23 views
1

我可以將數據綁定到單個文本塊中的兩個proporties值嗎?我可以在Silverlight TextBlock中顯示兩個值嗎?

例如,某些東西一樣以下,雖然這是諾斯正確的代碼:

<TextBlock Margin="5" Text="{Binding property1,Binding property2}" Style="{StaticResource Style1}" /> 

我想在一個單一的文本塊顯示兩個值。

感謝, Subhendu

回答

1

當您使用MVVM時,通常會創建第三個屬性,將其他兩個連接並綁定到該屬性。

public string Prop1 { get; set; } 

public string Prop2 { get; set; } 

public string Prop3 { get {return string.Format("{0} {1}", Prop1, Prop2); } } 

在你xaml中,你會綁定到Prop3。如果你想要雙向綁定,你可以爲Prop3實現一個更新Prop1和Prop2的setter。

乾杯, 菲爾

0

嗯,你AFIK無法做到這一點。

但是,您可以通過幾種方法來完成。

一,創建一個Converter是把你的對象,並返回這兩個屬性

public class Formatter : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
       // do some stuff with value to get your information 
       return myvalue; 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 

} 

//讓您轉換器的靜態資源

<Resources> 
    <myns:Converter x:Key="MyConverter"/> 
</Resource> 

//現在在你的綁定 使用

第二,你可以嵌套像這樣的文本塊(好吧,也許不在Silverlight中,但在WPF中可以)...

<TextBlock ...> 
    <TextBlock .../> 
    <TextBlock .../> 
</TextBlock> 
相關問題