Столбец флажка Silverlight 4 без основного свойства в источнике данных? - PullRequest
0 голосов
/ 17 мая 2011

Мне было интересно, есть ли способ взаимодействия с каким-либо из расширенных элементов управления, GridView, ListView, Form View ... таким образом, чтобы вы могли отображать список элементов и иметь флажок рядом с каждым элементом, но без имеет логическое свойство за этим флажком в источнике данных?

Более того, как бы вы прочитали это обратно? Это означает, что если были некоторые элементы с установленным флажком, и вы сохранили их список, при редактировании выделения, как бы вы заполнили его обратно в элементе управления (имеется в виду связать все элементы, создать сетку, какой бы она ни была ... и только «проверить» элементы, которые были выбраны)?

/ * РЕДАКТИРОВАТЬ * /

Это представляет собой следующий сценарий: у вас есть отношения между людьми, скажем, между событиями и участниками. При создании записи «участник» вы хотите зарегистрировать их на столько событий, сколько доступно ... Вы хотите отобразить все события, но сможете выбрать некоторые из них одновременно.

/ * END EDIT * /

Спасибо, Martin

1 Ответ

2 голосов
/ 17 мая 2011

Я предполагаю, что ваш источник данных - это модель (DTO или другой способ передачи данных с сервера на клиент).Если это так, вы можете заключить вашу модель в другой объект, который имеет свойство IsSelected.Затем вы можете привязать к списку расширенных атрибутов.Я слышал, что это называется аспектно-ориентированным программированием.Когда вы загружаете данные из своего сервиса, выполните цикл и создайте расширитель, устанавливая IsSelected на основе ваших критериев и передавая модель.Затем привяжите флажок к свойству IsSelected.

пример:

public class ModelExtender<T>
{
public T Model;
private bool isSelected = false;
public bool IsSelected
{
   get { return this.isSelected; }
   set
   {
       this.isSelected = value;
       this.RaisePropertyChanged("IsSelected");
   }
}

public ModelExtender(T model)
{
   this.Model = model;
}
...