Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.06.2013, 23:03   #1
artemoning
Пользователь
 
Регистрация: 20.09.2012
Сообщений: 23
Репутация: 10
По умолчанию Проблема с TwoWay Binding

Для начала хочу объяснить суть задачи. Хочу создать объект DataGrid, который будет принимать информацию с колекции элементов типа ObservableCollection. При этом хочу привязать изминение в DataGrid к своей колекции. Если использовать обычные колонки то все нормально (<DataGridTextColumn Header="Оценка" Binding="{Binding Path=Mark}" IsReadOnly="True" />). Но для очтальных свойств обектов колекции я использую DataGridTemplateColumn с внутринимым TextBox.

Вопрос: как информацию в TextBox привязать к колекции, чтобы изминения влияли в обеих свойствах?

Код в студию. XAML:
Код:

<DataGrid x:Name="dgMain" AutoGenerateColumns="False" Grid.Row="1" CanUserDeleteRows="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Оценка" Binding="{Binding Path=Mark, Mode=TwoWay}" IsReadOnly="True" />
                    <DataGridTemplateColumn Header="Мин. % балов" Width="*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox Text="{Binding Path=Percent}" MaxLength="3" PreviewTextInput="TextBox_PreviewTextInput" TextAlignment="Center" />
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <DataGridTemplateColumn Header="Название оценки" Width="*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox Text="{Binding Path=MarkName, Mode=TwoWay}" TextAlignment="Center" />
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>

Сама привязка даных:
Код:

ObservableCollection<TesterLibrary.Evaluation> temp = new ObservableCollection<TesterLibrary.Evaluation>();
dgMain.ItemsSource = temp;

Извминения в temp не влияют на таблицу DataGrid. Как решить проблему?
artemoning вне форума   Ответить с цитированием
Старый 26.06.2013, 18:00   #2
artemoning
Пользователь
 
Регистрация: 20.09.2012
Сообщений: 23
Репутация: 10
По умолчанию

Спасибо всем, за такое множество ответов) Проблема решена, свойство "UpdateSourceTrigger=PropertyChange d" разрулило ситуацию. Тему можно считать закрытой.
artemoning вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WPF DataGrid Binding RomanA WPF, UWP, WinRT, XAML 0 28.02.2013 15:54
Binding Source БД Сохранение zargandr1 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 22.04.2011 10:36
Binding Source БД Сохранение zargandr1 C# (си шарп) 0 20.04.2011 18:56
проблема с binding source и update Vitamin125 Общие вопросы .NET 0 20.05.2010 15:38
Что такое Binding у IdTCPServer? TwiX Работа с сетью в Delphi 1 01.03.2010 16:09


03:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru