WPF中弹出菜单

在WPF里弹出菜单是用Popup,你那个右键的是上下文菜单(也就是快捷菜单)。

    <Grid>
        <Button x:Name="BtnPop" Width="100" Height="30" HorizontalAlignment="Left" VerticalAlignment="Bottom" Content="Popup" Click="BtnPop_Click"/>
        <Popup x:Name="Pop" PopupAnimation="Slide" Width="100" Height="100" PlacementTarget="{Binding ElementName=BtnPop}" Placement="Top" AllowsTransparency="True" StaysOpen="False">
            <Border Background="#FFCFCFCF" CornerRadius="5" BorderBrush="#FF000000" BorderThickness="1">
                <StackPanel Margin="5">
                    <Button Content="A" Margin="5"/>
                    <Button Content="B" Margin="5"/>
                    <Button Content="C" Margin="5"/>
                </StackPanel>
            </Border>
        </Popup>

    </Grid>

BtnPop按钮的Click事件为:Pop.IsOpen = True。

补充一点:
可以将BtnPop的LostFocus事件设置为:Pop.IsOpen = False,以此来关闭Popup。

再补充一点:
如果你希望Popup中的按钮像ContextMenu中的那样,也就是不要按钮效果,可以自定义一个Button的Style。然后把Popup中的按钮的Style都换成自定义的这个Style。

时间: 2024-11-09 02:15:27

WPF中弹出菜单的相关文章

Android中弹出菜单PopupWindow的使用

Android中,使用手指触摸,不能像电脑一样有鼠标左键和右键,所以会有一个PopupWindow来代替鼠标右键.当用户点击的时候出现一个弹出的窗口与用户交流信息.好了,现在就开始介绍PopupWindow的用法. 首先声明一个PopupWindow的对象 PopupWindow  pop=null; 初始化pop pop=new PopupWindow(v,ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTEN

WPF中弹出文件夹浏览对话框

附一个共享目录正则表达式判断: bool result= System.Text.RegularExpressions.Regex.IsMatch("\\pc-test\share", @"^\\\\[a-zA-Z0-9\.-]+(\\([^\\\?\/\*\|<>:" + "\"" + "])+){1,}$"); private void btnSelectNetShareDir_Click(objec

WPF 左键单击弹出菜单 ContextMenu

WPF中的ContextMenu在XAML中可直接做出来,但是仅限于右键弹出菜单,如果需要添加左键弹出功能,只需要在事件中添加Click事件 XMAL代码如下 <Button x:Name="s" Content="Button" Click="s_Click">            <Button.ContextMenu>                <ContextMenu x:Name="menu

在服务程序中弹出对话框

最近一个项目中,客户一定要在服务程序中弹出对话框.跟客户好说歹说,说我们已经记了Log,弹对话框没有意义,反而可能由于弹框后没有人管,造成程序停滞在那里的情况.但是,客户不管这些,就要弹对话框. 没辙,弹吧,弹个框还能多费事?没想到,还真挺费事.WinXP和Windows2003下问题不大,上网找找方法,框就弹出来了.但是,Vista和Windows2008下,这个框死活弹不出来. 先说说在WinXP和Windows2003下用的方法. 第一种方法是在服务进程中启动一个子进程.用该子进程弹出对话

弹出菜单的创建与使用

-------------siwuxie095 工程名:TestSwingPopupMenu 包名:com.siwuxie095.popupmenu 类名:MyFrame.java 工程结构目录如下: MyFrame.java: package com.siwuxie095.popupmenu; import java.awt.BorderLayout; import java.awt.Component; import java.awt.EventQueue; import java.awt.

popupMenu-----弹出菜单

1 import android.os.Bundle; 2 import android.app.Activity; 3 import android.graphics.Color; 4 import android.view.Menu; 5 import android.view.MenuItem; 6 import android.view.View; 7 import android.widget.PopupMenu; 8 import android.widget.PopupMenu.O

BroadcastReceiver广播接收者(四)——本地广播LocalBroadcastManager以及在onReceive()中弹出Dialog

MainActivity如下: package cc.cv; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.app.Activity; import an

Android ListView两种长按弹出菜单方式

* 知识点1:ListView item:两种长按弹出菜单方式* 知识点2:ListView SimpleAdapter的使用*  知识点 3:在java代码中创建一个ListView*/ -----------------------------------------------------Activity[mw_shl_code=java,true]package org.gxl.com; public class ListOnLongClickActivity extends Activ

弹出菜单 阻止冒泡

<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>弹出菜单,阻止冒泡</title> <style> </style> <script src="jquery-1.9.1.js"></script> <script> $(fu