Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
5 / 5 / 2
Регистрация: 25.08.2013
Сообщений: 67
1

DependencyProperty и TwoWay биндинг

13.02.2014, 16:21. Показов 1999. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Я хочу сделать двустороннюю привязку текста в окне View к строковой переменной в ViewModel. В качестве текстового окна использую класс, наследованный от Avalon TextEditor. Код класса сделала аналогично этому: http://stackoverflow.com/quest... 7#20823917
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class BindableTextEditor : TextEditor, INotifyPropertyChanged
{
    /// <summary>
    /// A bindable Text property
    /// </summary>
    public new string Text
    {
        get { return base.Text; }
        set { base.Text = value; }
    }
 
    /// <summary>
    /// The bindable text property dependency property
    /// </summary>
    public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register("Text", typeof(string), typeof(BindableTextEditor), new PropertyMetadata((obj, args) =>
    {
        var target = (BindableTextEditor)obj;
        target.Text = (string)args.NewValue;
    }));
 
    protected override void OnTextChanged(EventArgs e)
    {
        RaisePropertyChanged("Text");
        base.OnTextChanged(e);
    }
 
    /// <summary>
    /// Raises a property changed event
    /// </summary>
    /// <param name="property">The name of the property that updates</param>
    public void RaisePropertyChanged(string property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
 
    public event PropertyChangedEventHandler PropertyChanged;
}
В xaml написала вот так:
XML
1
2
<l:BindableTextEditor
                    Text="{Binding Path=FileText, NotifyOnSourceUpdated=True, Mode=TwoWay}" />
Что я хочу: сделать двусторонний биндинг, т.е. при показе текста он берётся из строковой переменной из модели представления, а при редактировании текста чтобы эта строковая переменная менялась. Первое работает, второе - нет. Подскажите, пожалуйста, как сделать, чтобы при редактировании текста строковая переменная менялась?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2014, 16:21
Ответы с готовыми решениями:

Не работает биндинг к DependencyProperty моего UserControl
Есть колхозный слайдер с 2-мя ползунками &lt;UserControl x:Class=&quot;RealEstateAgency.RangeSliderBar&quot;...

Режим привязки CheckBox TwoWay не работает
Всем привет. Столбцу типа CheckBox делаю режим привязке и вылетает исключение....

Плавное движение слайдера при TwoWay биндинге WPF
Я использую TwoWay биндинг для привязки данных к слайдерам. Это приводит к небольшой проблеме, а...

DependencyProperty
Как правильно зарегистрировать вот такое свойство Используется для прямоугольника(rectangle) в...

4
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
13.02.2014, 17:45 2
maria_, не могли бы Вы выложить весь проект?
0
burning1ife
1462 / 1284 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
14.02.2014, 11:41 3
maria_, покажите еще ViewModel вашу, чтобы исключить что проблема не в ней.
0
5 / 5 / 2
Регистрация: 25.08.2013
Сообщений: 67
14.02.2014, 11:44  [ТС] 4
Цитата Сообщение от Kulgar Посмотреть сообщение
maria_, не могли бы Вы выложить весь проект?
Вот:
Вложения
Тип файла: rar DependencyProject.rar (2.82 Мб, 10 просмотров)
0
5 / 5 / 2
Регистрация: 25.08.2013
Сообщений: 67
14.02.2014, 11:45  [ТС] 5
Цитата Сообщение от kenny69 Посмотреть сообщение
maria_, покажите еще ViewModel вашу, чтобы исключить что проблема не в ней.
Выложила проект, ViewModel там
0
14.02.2014, 11:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2014, 11:45
Помогаю со студенческими работами здесь

Не работают DependencyProperty
Здравствуйте. Я пытаюсь привязать свойство типа стринг к контролу Label но оно не отображается на...

DependencyProperty для ItemsControl
В одном из предыдущих постов Элд Хасп посоветовал переделать INPC на DP. У меня было: ...

Не срабатывает PropertyChangedCallback в DependencyProperty
Может кто-то объяснить почему не срабатывает этот колбек??? Иногда впечатление, что WPF живёт своей...

DependencyProperty + Binding в WPF
Здравствуйте. Решил попробовать поработать со свойствами зависимостей и наткнулся на ткую штуку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru