Fondamentalement, comment lier (unidirectionnel) à une zone de texte nommée txtFullName. Initialement, tout texte dans la zone de texte est effacé/masqué puisque ToString renvoie "". Mais, lorsque je modifie FirstName ou LastName, il ne met pas à jour la liaison avec FullName. Tout moyen de le faire?WPF DataBinding: lié à une propriété qui fait référence à deux autres propriétés
De même, existe-t-il un moyen de lier à une méthode (pas seulement un champ)? En d'autres termes, définissez la liaison directement à la méthode ToString() et mettez-la à jour lorsque FirstName ou LastName change? Oh, et ce serait super génial s'il y avait une manière générique de gérer ça ... comme un attribut sur le champ FullName ou un attribut sur la méthode ToString lui indiquant quelles propriétés rechercher pour les changements.
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
namespace AdvancedDataBinding
{
public class UserEntity
{
static UserEntity()
{
FirstNameProperty = DependencyProperty.Register("FirstName", typeof(String), typeof(UserEntity));
LastNameProperty = DependencyProperty.Register("LastName", typeof(String), typeof(UserEntity));
}
public String FirstName
{
get { return (String)GetValue(FirstNameProperty); }
set { SetValue(FirstNameProperty, value); }
}
public static readonly DependencyProperty FirstNameProperty;
public String LastName
{
get { return (String)GetValue(LastNameProperty); }
set { SetValue(LastNameProperty, value); }
}
public static readonly DependencyProperty LastNameProperty;
public String FullName
{
get { return ToString(); }
}
public override string ToString()
{
return FirstName + " " + LastName;
}
}
}
L'homme était sur le point de poster la même chose INotifyPropertyChanged. Pour une question posée il y a 3 heures et seulement 6 vues, je pensais avoir un show pour y répondre ...;) – aqwert