.net - 使用 Style 在 WPF 中禁用列重新排序

标签 .net wpf xaml listview .net-4.0

我有一个应用程序,其中包含许多使用 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/

相关文章:

.net - 如何在 VB.NET 中设置字体类对象的颜色?

.net - f#:已编译程序中的 windows 窗体

wpf - 鼠标绑定(bind)鼠标滚轮以放大 WPF 和 MVVM

c# - 使用 ScrollViewer 从中心原点缩放图像在 UWP 中不起作用

c# - WPF 抛出异常解析 XAML,其中包含 Winforms 用户控件

c# - 如何通过属性控制方法行为?

c# - 双? = 双? + 双?

WPF 按钮保持按下状态,直到网格填充

c# - 使用 WPF 控件和 C# 打开文件对话框并选择一个文件

xaml - UWP 10 RenderTargetBitmap UWP 10 中 UIElement 的裁剪区域