2

私は、ユーザーに何も変更させたくないときにDataGrid現在設定されている を持っています。次に、ユーザーがクリックして変更を許可するためのボタンがあり、それがfalse に変更されますReadOnlyIsReadOnly

しかし、今の問題はDataGrid.IsReadOnly = true、スクロールが無効になっていることです。IsReadOnly=trueDataGridなどをスクロールできるようにするにはどうすればよいDataGridですか?

データグリッド スタイル:

<DataGrid.Style>
  <Style TargetType="{x:Type DataGrid}">
    <Style.Triggers>
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding ReadOnly}" Value="True"/>
          <Condition Binding="{Binding Reordering}" Value="False"/>
        </MultiDataTrigger.Conditions>
        <MultiDataTrigger.Setters>
          <Setter Property="IsReadOnly" Value="True" />
          <Setter Property="IsHitTestVisible" Value="False" />
          <Setter Property="Foreground" Value="Gray" />
        </MultiDataTrigger.Setters>
      </MultiDataTrigger>
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding ReadOnly}" Value="True"/>
          <Condition Binding="{Binding Reordering}" Value="True"/>
        </MultiDataTrigger.Conditions>
        <MultiDataTrigger.Setters>
          <Setter Property="IsHitTestVisible" Value="False" />
          <Setter Property="IsReadOnly" Value="True" />
        </MultiDataTrigger.Setters>
      </MultiDataTrigger>
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding ReadOnly}" Value="False"/>
        </MultiDataTrigger.Conditions>
        <MultiDataTrigger.Setters>
          <Setter Property="IsHitTestVisible" Value="True" />
          <Setter Property="IsReadOnly" Value="False" />
        </MultiDataTrigger.Setters>
      </MultiDataTrigger>
    </Style.Triggers>
  </Style>
</DataGrid.Style>
4

1 に答える 1

0

これを試しましたか:

dataGridView1.ReadOnly = true;
void dataGridView1_DoubleClick(object sender, EventArgs e)
{
     if (dataGridView1.ReadOnly == true)
          return;

     // .. whatever code you have in your handler...
}

スクロール以外の DataGridView を無効にする

于 2012-11-01T18:33:35.810 に答える