WPF弹窗_wpf 泡泡点击弹窗-程序员宅基地

技术标签: C#  wpf  

实现弹窗

弹窗和前面实现的登录跳转的功能类似,都是定义一个窗口类,在其它窗口的函数中实例化使用。区别在于,登录跳转实例化新的窗体后,登录的窗体就丢弃了,保留新建的窗体;而弹窗则是一个临时性窗体,完成当前的工作后就丢弃了,原有窗体保留。

第一步,新建wpf窗口,命名为LabelPopupWindow.xaml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p6QP0YeJ-1612920616680)(F:\chenggeng\Blog\Image\wpf基础开发img3.png)]

第二步,自定义弹窗布局、功能及样式,LabelPopupWindow.xaml内容如下:

<Window x:Class="wpfbase.LabelPopupWindow"
        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:local="clr-namespace:wpfbase"
        mc:Ignorable="d"
        WindowStartupLocation="CenterOwner"
        Title="Label" Height="200" Width="200">
  <StackPanel Margin="20 10 20 5" Orientation="Vertical">
    <TextBox Name="label" TextAlignment="Left">
      <TextBox.Text>
        <Binding ElementName="labelzoo" Path="SelectedItem.Content"/>
      </TextBox.Text>
    </TextBox>
    <ListBox Name="labelzoo" Height="100" Width="155" HorizontalAlignment="Left" >
      <ListBoxItem>Orange</ListBoxItem>
      <ListBoxItem>Green</ListBoxItem>
      <ListBoxItem>Blue</ListBoxItem>
      <ListBoxItem>Gray</ListBoxItem>
      <ListBoxItem>LightGray</ListBoxItem>
      <ListBoxItem>Red</ListBoxItem>
      <ListBoxItem>dog</ListBoxItem>
    </ListBox>
    <DockPanel>
      <Button Content="取消" DockPanel.Dock="Left" Width="50" Height="25" Click="LabelESC" Margin="5"/>
      <Button Content="确定" DockPanel.Dock="Right" Width="50" Height="25"  Click="LabelOK" Margin="5"/>
      <TextBlock Text=""/>
    </DockPanel>
  </StackPanel>
</Window>

在这里插入图片描述

第三步,LabelPopupWindow.xaml.cs内容如下:

using System.Windows;

namespace wpfbase
{
    
  public partial class LabelPopupWindow : Window
  {
    
    public LabelPopupWindow()
    {
    
      InitializeComponent();
    }
    // 取消按钮响应
    private void LabelESC(object sender, RoutedEventArgs e) {
    
      this.DialogResult = false;
    }
    // 确定按钮响应
    private void LabelOK(object sender, RoutedEventArgs e) {
    
      this.DialogResult = true;
    }
  }
}

窗口采用ShowDialog显示时:1.新建的窗体不关闭,原有窗体会挂起;2.对窗体的DialogResult参数赋值后(false,true),窗体自动关闭,DialogResult的值通过ShowDialog函数返回给父窗体。

第四步,主窗体调用弹窗。

...
namespace wpfbase
{
    
...
    private void PopupLabel(object sender, RoutedEventArgs e) {
    
      LabelPopupWindow labelpopupwindow = new LabelPopupWindow();
      labelpopupwindow.Left = 500;
      labelpopupwindow.Top = 500;
      bool? result = labelpopupwindow.ShowDialog();
      if(result == true) {
    
        Console.WriteLine(labelpopupwindow.label.Text);
      }
    }
  }
}

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42975610/article/details/113778918

智能推荐

RTX2060显卡 CUDA环境搭建_2060用什么cuda好-程序员宅基地

文章浏览阅读1k次,点赞25次,收藏20次。CUDA环境搭建_2060用什么cuda好

window系统rocketMq--broker模式配置_rocketmq-broker-程序员宅基地

文章浏览阅读1k次。一 启动namesrv见:https://blog.csdn.net/lqsdxh/article/details/111575551二 配置broker-a打开目录:\rocketmq-all-4.7.1-bin-release\conf\2m-noslave brokerClusterName=DefaultCluster brokerName=broker-a brokerId=0 deleteWhen=04 fileReservedTime=48..._rocketmq-broker

python程序设计课后答案第三章_智慧职教2020Python程序设计课后答案-程序员宅基地

文章浏览阅读78次。请下面一段材料,回答第1-3题。 1.Why is woman so happy?A. She had a pleasant walk. B. She wrote a short听下面一段材料,回答第1-3题。 1. What is the woman NOT satisfied with? A. The post office. B. The man'听下面一段材料,回答第1、2题。 1. Wh..._python程序设计现代方法课后答案第三章

如何正确计算 Kubernetes 容器 CPU 使用率-程序员宅基地

文章浏览阅读5.5k次。本文转自博客园,原文:https://www.cnblogs.com/apink/p/15767687.html,版权归原作者所有。欢迎投稿,投稿请添加微信好友:cloud-native-yang参数解释使用 Prometheus 配置 kubernetes 环境中 Container 的 CPU 使用率时,会经常遇到 CPU 使用超出 100%,下面就来解释一下:con..._container_spec_cpu_quota

python-多元线性回归模型_python多元线性回归方程的显著性检验代码-程序员宅基地

文章浏览阅读2.1k次。只是python代码方便以后调用,理论部分需要看其他人的回归模型的预测import matplotlibimport matplotlib.pyplot as pltimport pandas as pdimport numpy as npimport seaborn as snsimport statsmodels.api as smfrom sklearn import model_selectionfrom scipy.stats import ffrom scipy.sta_python多元线性回归方程的显著性检验代码

ubuntu Qt 地图离线调用_百度地图离线 qt5.14.2 ubuntu-程序员宅基地

文章浏览阅读851次。ubuntu环境下在Qt上调用百度地图_ubuntu 百度地图_拿到金像奖上课那家店的博客-程序员宅基地【Qt初入江湖】Qt QtWebEngineWidgets 底层架构、原理详细描述_鱼弦的博客-程序员宅基地探索 Qt WebEngineWidgets:从底层原理到高级应用与技巧_webenginewidgets模块_泡沫o0的博客-程序员宅基地libcef、QWebKit,QWebengine、miniblink内嵌浏览器对比_minilink webengine_二丶九的博客-程序员宅基地Qt We_百度地图离线 qt5.14.2 ubuntu

随便推点

c输出控制符的java实现_C语言的printf输出格式控制-程序员宅基地

文章浏览阅读173次。printf大家都耳熟能详,但是能真正将其用法弄透的估计很少见。转一篇,改天整理。1.转换说明符%a(%A)浮点数、十六进制数字和p-(P-)记数法(C99)%c字符%d有符号十进制整数%f浮点数(包括float和doulbe)%e(%E)浮点数指数输出[e-(E-)记数法]%g(%G)浮点数不显无意义的零"0"..._java 输出控制符 0f

C语言链表:链式魔法,数据之美-程序员宅基地

文章浏览阅读531次,点赞12次,收藏10次。C语言链表是一种强大而灵活的数据结构,掌握其基本原理和操作方法对于提升编程能力和解决复杂问题具有重要意义。通过深入学习链表并将其应用于实际项目中,我们可以更好地领略其独特魅力并发挥其在数据处理中的巨大潜力。

DE-BP回归预测 | Matlab实现差分算法优化BP神经网络多变量回归预测-程序员宅基地

文章浏览阅读901次,点赞18次,收藏20次。BP神经网络是一种常用的前馈神经网络,具有强大的非线性映射能力,广泛应用于模式识别、数据预测等领域。然而,BP神经网络存在易陷入局部极小值、收敛速度慢等问题,限制了其在某些任务中的应用。差分进化算法(DE)是一种有效的优化算法,具有较强的全局搜索能力和鲁棒性。将DE算法与BP神经网络结合,可以有效地改善BP神经网络的性能,提高预测精度。DE-BP算法是一种有效的BP神经网络优化算法,具有较强的全局搜索能力、收敛速度快、鲁棒性强等优点。DE-BP算法已成功应用于各种数据预测任务,取得了良好的效果。

初学Oracle PL/SQL 【笔记四】 -程序员宅基地

文章浏览阅读403次。1.触发器: CREATE [OR REAPLACE] TRIGGER Trigger_name {BEFORE | AFTER} Triggering_event ON table_name {FOR EACH ROW} [FOLLOWS another_trigger] [ENABLE/DISABLE] [WHEN condition] DECLARE declaration statements BEGIN

如何在ASP.NET中使用div弹出窗口-程序员宅基地

文章浏览阅读321次。http://aspalliance.com/1060_How_to_Popup_a_Window_Using_DIV_Layer_in_ASPNET_1x2x使用javascript弹出窗口,再使用ajax将弹出窗口的选中项填充中主页面的textbox中.从而实现无postback提交...._asp.net div 弹出

C++设计模式——单例模式(Singleton 模式)_singleton_program.h-程序员宅基地

文章浏览阅读937次。单例模式解决什么问题?保证一个类仅有一个实例,并提供一个访问它的全局访问点,例如数据库创建等,通常此类对象只需要实例化一次如何实现?将构造函数声明为私有的或者保护的,不让外部直接创建该对象提供一个静态指针和静态方法,提供全局的访问点分类1.懒汉模式:在程序运行时,调用到该对象再创建该对象。加载类时比较快,但运行时获取对象的速度比较慢;线程不安全。无论是饿汉还是懒汉模..._singleton_program.h

推荐文章

热门文章

相关标签