您可以通过在不希望可点击的列标题上将"IsEnabled"设置为false来完成此操作.我粘贴了一个我用作测试的例子.我做的唯一另一件事是更改前景画笔,以便禁用的列标题像其他标题一样以黑色显示.
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Width="120">
<GridViewColumnHeader IsEnabled="True" Content="Col A" Foreground="Black"/>
</GridViewColumn>
<GridViewColumn Width="120">
<GridViewColumnHeader IsEnabled="False" Content="Col B" Foreground="Black"/>
</GridViewColumn>
</GridView>
</ListView.View>
<ListViewItem>1</ListViewItem>
<ListViewItem>4</ListViewItem>
<ListViewItem>2</ListViewItem>
<ListViewItem>3</ListViewItem>
</ListView>
Run Code Online (Sandbox Code Playgroud)
第一列是可点击的,第二列则不是.希望这可以帮助!
编辑:我的评论中引用的示例.此方法启用标头但仍不允许单击它:
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Width="120">
<GridViewColumnHeader Content="Col A"/>
</GridViewColumn>
<GridViewColumn Width="120">
<GridViewColumnHeader Content="Col B" PreviewMouseDown="GridViewColumnHeader_PreviewMouseDown"/>
</GridViewColumn>
</GridView>
</ListView.View>
<ListViewItem>1</ListViewItem>
<ListViewItem>4</ListViewItem>
<ListViewItem>2</ListViewItem>
<ListViewItem>3</ListViewItem>
Run Code Online (Sandbox Code Playgroud)
以及该活动的代码隐藏:
private void GridViewColumnHeader_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
这基本上"吃掉"对此按钮所做的任何点击.不幸的是,它还会阻止您调整大小,因为您需要单击以调整大小.可能有一种方法可以测试点击是否是"按钮"点击或"调整大小区域"点击,只处理按钮点击,但我不确定.
| 归档时间: |
|
| 查看次数: |
2024 次 |
| 最近记录: |