我已将MouseLeftButtonUp事件添加到画布以捕获单击(或触摸)事件。现在,当点击画布时,没有指示用户他已点击它(意味着没有按下效果)。如何在单击画布时创建此类效果。
答案 0 :(得分:0)
对于画布来说,这将是棘手的。你可以不用按钮吗?您可以将画布的内容放在按钮内容中。然后,您可以使用按钮的可视状态指示何时按下它。
或者,您可以使用控件上的操作事件并相应地更改其外观。
答案 1 :(得分:0)
如果安装了工具包,可以通过设置
设置启用TiltEffecttoolkit:TiltEffect.IsTiltEnabled="True"
然后你需要用一个Control包装你的Canvas,比如一个Button。
我实际上使用了ListBoxItem来接收倾斜效果。 :)
<ListBoxItem Style="{StaticResource ListBoxItemStyle}">
<Canvas Margin="{StaticResource PhoneVerticalMargin}" Background="Transparent">
<Custom:Interaction.Triggers>
<Custom:EventTrigger EventName="MouseLeftButtonDown">
<ic:NavigateToPageAction TargetPage="/Views/xxxView.xaml" />
</Custom:EventTrigger>
</Custom:Interaction.Triggers>
答案 2 :(得分:0)
您可以尝试从download.microsoft.com下载this示例项目。它包含TiltEffect.cs,您可以将其添加到您自己的项目,例如在.xaml文件中(参见最后一行):
<phone:PhoneApplicationPage
x:Class="NavigationTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:NavigationTest"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True"
local:TiltEffect.IsTiltEnabled="True">