Номер строки связывания данных - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть объект со свойством Order. Я хочу связать его в своей сетке данных.Является ли это возможным ?Я хотел бы изменить порядок в сетке данных и использовать его в своем объекте (со свойством order).Могу ли я сделать это с привязкой?

[Редактировать]

public class MyObject
{
...
    public int Order {get; set;}
...
}

И я хочу связать это свойство с индексом моей строки.

1 Ответ

0 голосов
/ 23 ноября 2011

ОК, пока не совсем понятно, но я постараюсь дать ответ ... Вот как я понимаю вопрос: у вас есть свойство типа Order 'с именем' Order 'и вы хотите отредактировать это свойство в сетке данных, например, используя Combo

Предположим, у вас есть такой класс сущностей (весь код - только примеры, потому что я не знаю, какие именно у вас классы):

class Something : EntityBase {
    ................

    public int Order { get; set; }

    ................

}

И он обернут с моделью данных, как:

public SomethingModel : EntitydataModelBase<Something> {

     ................

     public int Order {
         get {
             return this.Entity.Order;
         }
         set {
             if (this.Entity.Order == value) return;
             this.Entity.Order = value;
             NotifyPropertyChanged("Order");
         }
     }

     ................

}

Также есть модель представления экрана с сеткой данных, например:

public SomethingListViewModel : ViewModelBase {


    ................


    public IList<SomethingModel> _Items;

    public IList<SomethingModel> Items {
        get {
           return _Items;
        }
        private set {
           if (_Items == value) return;
           _Items = value;
           NotifyPropertyChanged("Items");
        }
    }
    ................

}

И, наконец, ваш XAML:

   ................

<Grid x:Name="gridContainer"> <!-- We will use this name to make a reference in binding expression --!>

   <DataGrid
       ItemsSource="{Binding Items, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
       <DataGrid.Columns>
            <!-- "Actually, don't remember a name of class for tempolated column" -->
            <DataGridTemplatedColumn
                 Header="Order">
                 <DataGridTemplatedColumn.CellTemplate>
                     <DataTemplate>
                         <TextBox
                              Text="{Binding Order, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
                     </DataTemplate>
                 </DataGridTemplatedColumn.CellTemplate>
            </DataGridTemplatedColumn>
       </DataGrid.Columns>
   </DataGrid>

   ................

Надеюсь, что это поможет, если не поможет, предоставьте пример кода, и я постараюсь добавить пример на его основе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...