Привязка к строке

226
26 июня 2017, 17:30

Есть вью модель wpf страницы. В ней указано свойство :

 string totalST;
 public string totalStproperty
    {
        get { return totalST; }
        set { totalST = value; }
    }

В конструкторе класса свойству в первый раз передается значение :

totalST = "Всего студентов " + allS.Rows.Count.ToString();

И в разметке осуществлена привязка к свойству :

   <Label x:Name="allStudents" Content="{Binding totalStproperty, Mode=TwoWay}"/>

При первой загрузке страницы будет показано общее число студентов, равное строкам в соответствующей таблице. Но затем мы вызываем комманду которая показывает в таблице только часть студентов - соответственно должно поменяться и число в label:

public RelayCommand<ListBoxItem> SelectFilter
    {
        get
        {
            return new RelayCommand<ListBoxItem>(DataGridRefresh);
        }
    }
    private void DataGridRefresh(ListBoxItem selected) 
    {   
        totalST= "Всего студентов 0";
    }

Ошибок не показывает, компилируется, но выполняется неверно. totalST принимает значение "Всего студентов 0" но в Label так и висит старое значение, словно никакого Binding и нет. В чем ошибка?

Answer 1

В методе доступа set свойства totalStproperty должен происходить вызов метода RaisePropertyChanged(() => ваше свойство) для того что бы интерфейс получил уведомление, что значение свойства изменилось.

public string totalStproperty
{
    get { return totalST; }
    set 
    { 
        totalST = value;
        RaisePropertyChanged(() => totalStproperty);
    }
}
READ ALSO
Подрезка строки с конца на указанное количество символов в C#

Подрезка строки с конца на указанное количество символов в C#

Существует ли какая-либо функция для этой задачи, или же придется делать вручную? Код работает не правильно!

325
C# создать список объектов из дессериализации дерева объектов JSON

C# создать список объектов из дессериализации дерева объектов JSON

Сразу хочу сказать, что я начинающий разработчик и прошу прощения, если вопрос поставлен не корректноНигде не нашел, как обратится к вложенному...

362
Отслеживание изменений в SQLite WPF

Отслеживание изменений в SQLite WPF

Допустим имеется две базы данных в SQLiteКаким образом изменения в одной, со временем, можно применить в другой?

313