我有兩個屬性FirstName和LastName,並綁定到使用Multibinidng和轉換器的文本塊,以顯示FullName作爲名字+姓氏。Converter中進行的更改會通知綁定屬性的更改嗎?
姓=「紀」 姓氏=「庫瑪」
在我改變了姓氏爲「變文」
values[1] = "Changed Text";
執行轉換我的TextBlock會顯示「紀變文後,轉換器「但依賴屬性LastName仍然有最後一個值」Kumar「。爲什麼我在執行後沒有在LastName屬性中獲取「更改文本」值?
轉換器所做的更改是否會通知綁定屬性?
<Window.Resources>
<local:NameConverter x:Key="NameConverter"></local:NameConverter>
</Window.Resources>
<Grid>
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource NameConverter}">
<Binding Path="FirstName"></Binding>
<Binding Path="LastName"></Binding>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
轉換器:
public class NameConverter:IMultiValueConverter
{
#region IMultiValueConverter Members
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
values[1] = "Changed Text";
return values[0].ToString() + " " + values[1].ToString();
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
不會工作,因爲Person屬性本身沒有改變 - 只有它的名字是。因此,綁定不會被刷新,轉換器不會被調用。 – 2010-12-22 08:14:00