У меня есть два свойства FirstName и LastName, которые привязаны к текстовому блоку с помощью Multibinidng и конвертера для отображения FullName как FirstName + Last Name.
FirstName = "Кишор"
LastName = "Кумар"
В Конвертере я изменил Фамилию как «Измененный текст»
values[1] = "Changed Text";
После выполнения конвертера в моем TextBlock будет отображаться «Kishore Changed Text», но свойство Dependency 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
}