【问题标题】:DataGrid Set ReadOnly and allow scrolling?DataGrid 设置只读并允许滚动?
【发布时间】:2012-11-01 18:03:47
【问题描述】:

我有一个DataGrid,当我不希望用户更改任何内容时,我当前设置为ReadOnly,然后我有一个按钮供用户单击以允许修改,然后更改IsReadOnly假的

但现在的问题是当DataGrid.IsReadOnly = true时,滚动被禁用了。如何使 DataGrid IsReadOnly=true 或类似名称仍然能够滚动 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>

【问题讨论】:

    标签: c# wpf datagrid scroll readonly


    【解决方案1】:

    你试过了吗:

    dataGridView1.ReadOnly = true;
    void dataGridView1_DoubleClick(object sender, EventArgs e)
    {
         if (dataGridView1.ReadOnly == true)
              return;
    
         // .. whatever code you have in your handler...
    }
    

    Disable DataGridView except the scroll

    【讨论】:

    • 我接受它是因为它是人们处理 ReadOnly 的好方法,但我无法使用它,因为它会阻止我使用的事件和触发器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多