2010-09-21 64 views
0

我有一个组件屏幕,它有2个状态:显示和隐藏。当我点击某个按钮时,组件会移动到舞台上。现在,当您单击该组件时,我希望它退出舞台。使用正常的元素,这通过使用激活状态,但与组件屏幕似乎没有做任何事情。Silverlight sketchflow:点击组件屏幕更改状态

有人知道如何解决这个问题吗?

XML:

组件我的屏幕里:

<local:googlemaps x:Name="googlemaps" Margin="97,0,97,-509" d:IsPrototypingComposition="True" Cursor="Hand" VerticalAlignment="Bottom" d:LayoutOverrides="Height" RenderTransformOrigin="0.5,0.5"> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="MouseLeftButtonDown"> 
      <pi:ActivateStateAction TargetState="hide"/> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 
    <local:googlemaps.RenderTransform> 
     <CompositeTransform/> 
    </local:googlemaps.RenderTransform> 
</local:googlemaps> 

的元件画面:

<UserControl 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:pc="http://schemas.microsoft.com/prototyping/2010/controls" 
    mc:Ignorable="d" 
    x:Class="EurekaScreens.googlemaps" 
    d:DesignWidth="606" d:DesignHeight="480" Height="480" Width="606"> 

    <Grid x:Name="LayoutRoot"> 
     <Rectangle Fill="#FF212121" Margin="10,8,0,0" Stroke="Black"/> 
     <Rectangle Fill="#FF212121" Margin="0,0,4,3" Stroke="Black" HorizontalAlignment="Right" Width="602"/> 
     <Image Margin="1,1,5,4" Source="google maps.jpg" Stretch="Fill"/> 
     <pc:SketchRectangleSL HorizontalAlignment="Right" Height="30" Margin="0,0,15,11" Style="{StaticResource Rectangle-Sketch}" VerticalAlignment="Bottom" Width="87"/> 
     <TextBlock HorizontalAlignment="Right" Margin="0,0,36,13" Style="{StaticResource SubtitleLeft-Sketch}" TextWrapping="Wrap" Text="CLOSE" VerticalAlignment="Bottom" FontSize="18.667" Height="23" Width="44"/> 
    </Grid> 
</UserControl> 

回答

0

你能张贴的元件画面的XAML,并包含它的屏幕?它是否可以点击组件上的任何位置?我想可能它没有背景,所以不会收到点击事件。你可以尝试分配一个清晰的背景。

否则,发布xaml,我会看看我是否可以提供帮助。

我不完全确定为什么,但由于某种原因,它似乎像鼠标放下事件没有得到的行为。当我将组件屏幕包装在一个网格中,并将行为放在一个网格上时,它似乎可以正常工作:

<Grid HorizontalAlignment="Right" Margin="0,-2,-625,2" Width="606" Background="#00000000"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="MouseLeftButtonUp"> 
        <pi:ActivateStateAction TargetState="hide"/> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
      <local:Screen_2 x:Name="screen_2" Height="480" Width="606" d:IsPrototypingComposition="True" RenderTransformOrigin="0.5,0.5"> 
       <local:Screen_2.RenderTransform> 
        <CompositeTransform/> 
       </local:Screen_2.RenderTransform> 
      </local:Screen_2> 
     </Grid> 
+0

用xml更新了我的问题。 – Pickels 2010-09-21 13:08:12