绑定数据网格行号

本文关键字:网格 数据网 数据 绑定 | 更新日期: 2023-09-27 18:15:26

我有一个具有Order属性的对象,我想将它绑定到我的数据网格中。这可能吗?我想改变一个数据网格的顺序,并在我的对象中使用它(与订单属性)。

[编辑]

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

我想将这个属性与我的行Index绑定

绑定数据网格行号

好的,仍然不是很清楚,但我会尽量提供一些答案…这就是我如何理解一个问题:你有一个类型为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>
   ................

希望这将有助于,如果它不会,请提供您的示例代码,我会尝试添加一些基于它的例子