我正在尝试实现仅点击透明背景的一部分的功能。背景图像为实心灰色,具有3个圆形,矩形和椭圆形。图像是透明的。按钮1出现在矩形内部,按钮2出现在椭圆内部。当程序运行时,两个按钮都可见但当前不可点击,因为图像在网格中并在按钮后添加。我只想点击矩形,因此可以点击按钮1,但仍然将图像保持在按钮2之前,这样它就不可点击了。
我已经搜索了很多解决方案,但还没有找到我正在寻找的东西。这个例子是我目前正在处理的一个愚蠢的版本 - 但功能基本相同。任何帮助,将不胜感激。
的Xaml:
$fb = new Facebook([
'app_id' => 'appid',
'app_secret' => 'appsecret',
'default_graph_version' => 'v2.7',
]);
$params=[
'message'=>'Example Post',
'access_token'=>'ACCESS_TOKEN',
];
try{
$ret=$fb->post('/PAGEID/feed',$params);
} catch(FacebookResponseException $e) {
echo 'Graph returned an error: '.$e->getMessage();
exit;
} catch(FacebookSDKException $e) {
echo 'Facebook SDK returned an error: '.$e->getMessage();
exit;
}
$graphNode = $ret->getGraphNode();
print_r($graphNode);
代码背后:
<Window x:Class="TransparentClickThrough.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button x:Name="ButtonOne" Click="ButtonOne_Click" Content="Button1" Width="50" Height="25" ></Button>
<Button x:Name="ButtonTwo" Content="Button2" Width="50" Height="25" Margin="379,100,59,148" Click="ButtonTwo_Click"></Button>
<Image Source="/TransparentClickThrough;component/background.png" />
</Grid>
</Window>
}
background - 3 circles, rectangle, and oval are all set to transparent
答案 0 :(得分:0)
我能够在网格中添加一个带透明填充的矩形。然后我添加了一个事件“MouseDown”交互触发器,通过DataTrigger切换可见性,而DataTrigger又改变了背景颜色。
与此链接类似link