0

Silverlightアプリケーションでマウスアウトのポップアップを閉じたい。どうすればこれを達成できますか?

また、可能であれば、私の要件は、マウスアウトが少し遅れてポップアップを閉じることです。つまり、ユーザーがマウスアウトしたときに、少し遅れてポップアップを閉じる必要があります。

ありがとう、パラク


ポップアップのmouseleaveイベントを処理しようとしていますが、なぜ呼び出されないのかわかりません。[Dispatchertimer]の例を教えてください。

.xamlコードは次のとおりです。

<Grid x:Name="LayoutRoot" Background="Transparent">

    <StackPanel HorizontalAlignment="Right" VerticalAlignment="Center"  Orientation="Horizontal">

        <telerik:RadButton  x:Name="rbtnSave" Content="Save" Click="rbtnSave_Click" ToolTipService.ToolTip="Save Changes">

        </telerik:RadButton>

        <Border x:Name="borderSaveChanges" BorderThickness="1,0,0,0" BorderBrush="{StaticResource SCBCxWhite}" Width="2" Height="20"></Border>

        <telerik:RadButton  x:Name="rbtnMenu" Background="{StaticResource SCBCxBlue}" Click="rbtnMenu_Click"
            Content="Menu" ToolTipService.ToolTip="Configurations Settings" >

        </telerik:RadButton>


        <Popup x:Name="PopUpMenu" FlowDirection="LeftToRight" 
           HorizontalAlignment="Left" VerticalAlignment="Center">

            <Grid x:Name="popGrid" Background="{StaticResource PopUpBackgroundImg}" Margin="-70,5,20,20" Height="100" Width="200" HorizontalAlignment="Left" VerticalAlignment="Center" >
                <Grid.RowDefinitions>
                    <RowDefinition Height="15"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="5"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <telerik:RadButton x:Name="imgClose" Click="imgClose_Click" HorizontalAlignment="Right"
                                   VerticalAlignment="Top" Grid.Row="1" Margin="0,8,15,5" Style="{StaticResource RadButtonEllipseClose}"/>
                <ListBox Style="{StaticResource WindowControlListBox}" Background="Transparent"  Height="100" Width="200" BorderThickness="0" Grid.Row="2">
                    <ListBoxItem Style="{StaticResource WindowControlListBoxItem}" Content="Configuration"></ListBoxItem>
                    <ListBoxItem Style="{StaticResource WindowControlListBoxItem}" Content="Settings"></ListBoxItem>
                </ListBox>
            </Grid>

        </Popup>

        <Border x:Name="borderMenu" BorderThickness="1,0,0,0" BorderBrush="{StaticResource SCBCxWhite}" Width="2" Height="20"></Border>

        <telerik:RadButton  x:Name="rbtnInformation" Click="rbtnInformation_Click"   Content="Help" ToolTipService.ToolTip="Help">

        </telerik:RadButton>

        <Border x:Name="borderInfo" BorderThickness="1,0,0,0" BorderBrush="{StaticResource SCBCxWhite}" Width="2" Height="20"></Border>
        <telerik:RadButton  x:Name="rbtnMinimize" Click="rbtnMinimize_Click"  Content="Dock" ToolTipService.ToolTip="Minimize">

        </telerik:RadButton>

        <Border x:Name="borderMinimize" BorderThickness="1,0,0,0" BorderBrush="{StaticResource SCBCxWhite}" Width="2" Height="20"></Border>
        <telerik:RadButton  x:Name="rbtnClose" Click="rbtnClose_Click"  Content="Close" ToolTipService.ToolTip="Close" >

        </telerik:RadButton>

    </StackPanel>

</Grid>
4

1 に答える 1

0

MouseLeaveイベントを処理して、マウス アウトがいつ発生したかを判断し、 PopUp.IsOpenを介してポップアップを閉じることができます。を介して遅延を導入できますDispatcherTimer

于 2012-07-30T08:56:51.400 に答える