我有一个应用程序,其中包含许多使用 GridView
布局的 ListView
控件。所有这些都使用自定义 Style
customStyle
。我想在所有这些 ListView
控件中禁用列重新排序。
我可以在不使用现有样式接触所有控件的情况下执行此操作吗?我尝试了这个,但似乎不起作用:
<Style x:Key="customStyle"
BasedOn="{StaticResource ResourceKey={x:Type ListView}}"
TargetType="{x:Type ListView}">
<Setter Property="GridView.AllowsColumnReorder" Value="False" />
...
</Style>
谢谢!
更新:如果这是不可能的,有没有办法在我的应用程序中默认禁用列重新排序?
更新:
我也尝试过这个,但不起作用。可能是因为 GridView 没有 Style
属性。
<Style TargetType="{x:Type GridView}">
<Setter Property="AllowsColumnReorder" Value="False" />
...
</Style>
最佳答案
这是你应该做的:
在此样式定义中
<Style x:Key="{x:Static GridView.GridViewScrollViewerStyleKey}" TargetType="ScrollViewer">
有一个
<GridViewHeaderRowPresenter
它有一个属性AllowsColumnReorder 将其硬编码为 false。
...
我知道... 两年前的话题。 但我敢打赌人们仍然会阅读它。
关于.net - 使用 Style 在 WPF 中禁用列重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11341548/