Steve15f Ответов: 1

Почему моя привязка не работает ?


Привет

Я не понимаю, почему моя привязка не работает.

У меня есть XML файл с привязкой текста :

<TextBlock TextWrapping="Wrap" Text="{Binding strSelectionLignes}" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" />


В моем коде C# я использовал INotifyPropertyChanged :

public partial class ParamsAffichage : Window, INotifyPropertyChanged
    {
        #region Évenement qui permet de déclencher l'événement INotifyPropertyChanged et mettre à jour le binding
        public void Set<TValue>(ref TValue field, TValue newValue, [CallerMemberName] string propertyName = "")
        {
            if (EqualityComparer<TValue>.Default.Equals(field, default(TValue)) || !field.Equals(newValue))
            {
                field = newValue;

                if (PropertyChanged != null)
                    PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        #endregion

        private string _strSelectionLignes;
        public string strSelectionLignes
        {
            get { return _strSelectionLignes; }
            set { Set(ref _strSelectionLignes, value); }
        }


Я изменяю свой varaible strSelectionLignes :

 public ParamsAffichage()
        {
            InitializeComponent();

            strSelectionLignes = "TEST";
}


Но "тест" не виден в моей форме

Почему?

Большое спасибо

Что я уже пробовал:

Я стараюсь в отладке, в этом тесте :

if (PropertyChanged != null)
                   PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));


PropertyChanged - это alwys null.

1 Ответов

Рейтинг:
1

Steve15f

Конечно, извините,,,,,,

Я забыл установить datacontext = this ......


Graeme_Grant

Да, чтобы привязка работала, вам нужно установить DataContext.