gpt4 book ai didi

wpf - 如何在空或透明背景上点击检测?

转载 作者:行者123 更新时间:2023-12-04 21:44:04 26 4
gpt4 key购买 nike

我遇到了一个问题,即带有路径内容的按钮仅检测路径上的鼠标点击。对于 ux,我想在按钮的任何位置注册点击。我已将按钮的背景设置为 null 和透明,以便顶部控件容器指定背景样式。

这是另一个 SO 帖子:Mouse event on transparent background

如前所述,到目前为止我已经尝试过透明和空。

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:wpfMyCustomControl">

<ControlTemplate x:Key="IconTemplate" TargetType="{x:Type ContentControl}">
<Grid>
<Path Name="ForegroundSymbol" Data="M0,0 L1,0 1,1 0,1 0.5,0.5 z" Fill="{TemplateBinding Foreground}" Stretch="Fill" />
</Grid>
</ControlTemplate>

<Style x:Key="IconButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Grid>
<ContentControl Name="icon" Template="{StaticResource IconTemplate}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


<ControlTemplate x:Key="MyCustomTemplate" TargetType="{x:Type local:MyCustomControl}">
<Grid Name="LayoutRoot" Background="Red">
<RepeatButton Background="{x:Null}" Style="{StaticResource ResourceKey=IconButtonStyle}" />
</Grid>
</ControlTemplate>

<Style TargetType="{x:Type local:MyCustomControl}">
<Setter Property="Template" Value="{StaticResource ResourceKey=MyCustomTemplate}" />
</Style>
</ResourceDictionary>

如果我从“样式”中删除“x:Key”属性,则控件会呈现。我已经能够使用上述 xaml 控件样式重现该问题,其中命中检测不会在按钮的“背景”部分触发。

最佳答案

不要使用透明背景,而应该使用几乎
透明的。这样,Click -event 仍会被触发,但按钮仍将显示为透明。
就像是:

<RepeatButton Background="#01FFFFFF" Style="{StaticResource ResourceKey=IconButtonStyle}" />

颜色定义的前两位数字定义了 TransparencyAlpha值(value)。

关于wpf - 如何在空或透明背景上点击检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169358/

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