gpt4 book ai didi

c# - 网格中控件周围的 WPF 可点击区域

转载 作者:行者123 更新时间:2023-11-30 13:58:32 24 4
gpt4 key购买 nike

我在为表单制作自定义标题栏时遇到问题。它将包含一个搜索文本框以及一些 slider ,如下图所示: Example image现在,想象一下作为标题栏 - 不属于控件本身的所有内容(被边框元素包围的文本框和 slider )都需要鼠标可按下以便拖动。

我已经试过了:

<Grid MouseDown="TitleGridMouseDown">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="135"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Slider Grid.Column="1" Margin="5 15 5 0" Width="100" MouseDown="TitleGridMouseDown"/>
<Slider Grid.Column="2" Margin="5 15 5 0"/>
<Border Grid.Column="3" CornerRadius="10" BorderThickness="1" BorderBrush="White" Width="180" Height="20" Background="White">
<TextBox Background="Transparent" BorderThickness="0" Height="20"/>
</Border>

</Grid>

然而这并没有用。两个 slider 之间有一小部分,例如几个像素区域,它实际上起作用(DragMove(); 在事件本身中)。我在 WPF 中没有太多这类事情的经验,但我觉得该区域缩小到控件。例如,如果我将边框对象放入按钮中并尝试将事件绑定(bind)到该按钮,则不会发生任何变化。

我应该如何处理这个问题?

最佳答案

这里的问题是您想要捕获网格元素上的 MouseDown 事件。由于您的网格没有设置背景,因此默认为空。 MouseDown 事件不会引发。把它想象成它正在穿过网格而不是真正撞到它。顶部网格上的 Background=Transparent 应该可以解决问题。

关于c# - 网格中控件周围的 WPF 可点击区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com