小编Tan*_*Tan的帖子

DataGrid WPF虚拟化和命令CanExecute

我正在使用框架.NET 4.0的WPF应用程序

我有一个DataGrid的问题:每行有2个命令:

public ICommand MoveUpOrderPipeCommand
{
     get
     {
         if (_moveUpOrderPipeCommand == null)
         {
              _moveUpOrderPipeCommand = new Command<OrderPipeListUIModel>(OnMoveUpOrderPipe, CanMoveUpOrderPipe);
         }
                return _moveUpOrderPipeCommand;
      }
}

private bool CanMoveUpOrderPipe(OrderPipeListUIModel orderPipe)
{
     if (OrderPipes == null || !OrderPipes.Any() || OrderPipes.First() == orderPipe)
          return false;
     return true;
}
Run Code Online (Sandbox Code Playgroud)

MoveDown有相同的命令(可以执行检查该行是否不是最后一行)

和DataGrid:

<DataGrid Grid.Row="1" IsReadOnly="True" ItemsSource="{Binding OrderPipes}" SelectionMode="Extended">
   <DataGrid.Columns>
      <DataGridTextColumn Header="Diam. (mm)" Binding="{Binding Diameter}" Width="120">    </DataGridTextColumn>
      <DataGridTextColumn Header="Lg. (m)" Binding="{Binding Length}" Width="120"></DataGridTextColumn>
      <DataGridTextColumn Header="Ep. (mm)" Binding="{Binding Thickness}" Width="120"></DataGridTextColumn>
      <DataGridTextColumn Header="Ondulation" Binding="{Binding Ripple}" Width="120"></DataGridTextColumn>
      <DataGridTemplateColumn>
         <DataGridTemplateColumn.CellTemplate>
            <DataTemplate> …
Run Code Online (Sandbox Code Playgroud)

wpf ui-virtualization wpfdatagrid icommand

5
推荐指数
1
解决办法
534
查看次数

标签 统计

icommand ×1

ui-virtualization ×1

wpf ×1

wpfdatagrid ×1