<Window x:Class="GuiDB.EBMultiEditTextWin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:GuiDB"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" Background="Transparent"
Opacity="1"
WindowStyle="None"
Topmost="True"
AllowsTransparency="True" ShowInTaskbar="False"
KeyDown="Window_KeyDown"
Loaded="Window_Loaded"
>
<Grid>
<TextBox x:Name="editTextBox" Visibility="Hidden" Background="White" Foreground="Black"
BorderBrush="White" CaretBrush="White"
TextWrapping="Wrap" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" PreviewLostKeyboardFocus="editTextBox_PreviewLostKeyboardFocus"
/>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes; namespace GuiDB
{
/// <summary>
/// EBMultiEditTextWin.xaml 的交互逻辑
/// </summary>
public partial class EBMultiEditTextWin : Window
{
EBMultiTableControl _tableControl;
EBColumn _columnHeader; public EBMultiEditTextWin(EBMultiTableControl tableControl,EBColumn header,double textW,double textH,double top,double left)
{
InitializeComponent(); _tableControl = tableControl;
_columnHeader = header;
this.Width = textW;
this.Height = textH;
editTextBox.Width = textW;
editTextBox.Height = textH;
this.Top = top;
this.Left = left; } private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key.ToString() == "Return")
{
_columnHeader.Content = editTextBox.Text;
_tableControl.ReDraw();
Close();
}
else if (e.Key.ToString() == "Escape")
{
_tableControl.ReDraw();
Close();
}
} private void Window_Loaded(object sender, RoutedEventArgs e)
{
editTextBox.Visibility = Visibility.Visible;
editTextBox.FontSize = 10;
editTextBox.Text = _columnHeader.Content; editTextBox.SelectAll();
editTextBox.Focus();
} private void editTextBox_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
_columnHeader.IfBeSel = false;
_tableControl.DownPt = null;
_tableControl.ReDraw(); Task.Run(() =>
{
Dispatcher.Invoke(() => Close());
});
}
}
}

WPF透明框设置Demo的更多相关文章

  1. WPF 文本框设置了阴影效果后,因左右的transform变化引发的拉伸渲染问题

    背景 最近遇到一个动画执行时,文本位置变化的问题.如下图: 如果你仔细看的话,当星星变小时,文本往下降了几个像素. 貌似有点莫名其妙,因为控件之间并不在同一个Panel布局控件中,不存在高度限制变化引 ...

  2. WPF文本框密码框添加水印效果

    WPF文本框密码框添加水印效果 来源: 阅读:559 时间:2014-12-31 分享: 0 按照惯例,先看下效果 文本框水印 文本框水印相对简单,不需要重写模板,仅仅需要一个VisualBrush ...

  3. WPF 文本框添加水印效果

    有的时候我们需要为我们的WPF文本框TextBox控件添加一个显示水印的效果来增强用户体验,比如登陆的时候提示输入用户名,输入密码等情形.如下图所示: 这个时候我们除了可以修改TextBox控件的控件 ...

  4. WPF:DataTemplateSelector设置控件不同的样式

    原文 WPF:DataTemplateSelector设置控件不同的样式 最近想实现这么个东西,一个ListBox, 里面的ListBoxItem可能是文本框.下拉框.日期选择控件等等. 很自然的想到 ...

  5. [调整] Firemonkey iOS 原生 Edit 透明框, 改变框色

    说明:iOS 原生 Edit 透明框 适用:Berlin Firemonkey 方法:在 StyleLookup 输入 transparentedit 效果: 如果有图片 Image 在这二个 Edi ...

  6. input文本框设置和移除默认值

    input文本框设置和移除默认值 这里想实现的效果是:设置和移除文本框默认值,如下图鼠标放到文本框中的时候,灰字消失. 1.可以用简单的方式,就是给input文本框加上onfocus属性,如下代码: ...

  7. 兼容性所有浏览器的透明CSS设置

    兼容所有浏览器的透明CSS设置: .transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0. ...

  8. WPF提示框效果

    WPF提示框效果 1,新建WPF应用程序 2,添加用户控件Message 3,在Message中编写如下代码 <Border x:Name="border" BorderTh ...

  9. 使用Prism提供的类实现WPF MVVM点餐Demo

    使用Prism提供的类实现WPF MVVM点餐Demo 由于公司开发的技术需求,近期在学习MVVM模式开发WPF应用程序.进过一段时间的学习,感受到:学习MVVM模式,最好的方法就是用MVVM做几个D ...

  10. WPF DataGrid 样式设置

    隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 ...

随机推荐

  1. ubuntu更换国内镜像源备忘

    源的路径: /etc/apt/sources.list 更换前备份一下: sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 打开文档,修 ...

  2. Windows 提权-RunAs

    本文通过 Google 翻译 RunAs – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充. 导航 0 前言 ...

  3. HttpClient 进行soap请求

    当你在使用C#的HttpClient进行SOAP请求时,确保你的代码类似于以下示例: using System; using System.Net.Http; using System.Text; u ...

  4. 【数值计算方法】蒙特卡洛方法积分的Python实现

    原理不做赘述,参见[数值计算方法]数值积分&微分-python实现 - FE-有限元鹰 - 博客园,直接上代码,只实现1d,2d积分,N维积分的蒙特卡洛方法也类似. 代码 from typin ...

  5. Oracle客户端中文显示问号乱码问题

    Oracle显示中文显示??乱码 问题如下图 解决方法 打开Oracle客户端,新建一个SQL Window 输入select userenv('language') from dual 复制搜索到的 ...

  6. Golang 入门 : 字符串及底层字符类型

    字符串 基本使用 在 Go 语言中,字符串是一种基本类型,默认是通过 UTF-8 编码的字符序列,当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节,比如中文编码通常需 ...

  7. 几款ZooKeeper可视化工具,最后一个美炸了~

    首发于公众号:BiggerBoy 欢迎关注,查看更多技术文章 ZooKeeper是我们工作中常用一个开源的分布式协调服务,提供分布式数据一致性解决方案,分布式应用程序可以实现数据发布订阅.负载均衡.命 ...

  8. sql 使用with 递归

     ---前提:有上下级关系的关系表  ---示例:组织架构表 DECLARE @orgId NVARCHAR(20)='0001'; --向下递归,查询@orgId 下的所有结点...包括儿子-孙子节 ...

  9. 必看!SpringAI轻松构建MCP Client-Server架构

    MCP 这个概念相信大家已经听了无数次了,但不同人会有不同的解释,你可能也是听得云里雾里的. 不过没关系,今天这篇内容会通过 Spring AI 给你实现一个 MCP 的 Client 和 Serve ...

  10. 窗体添加按钮--java进阶day03

    1.组件.面板对象 窗体中的图片.按钮.文本都是组件,光创建出了窗体没有组件肯定不行,但是这些组件该放到窗体的哪个位置? 很明显是窗体中空白的位置,但是我们需要知道,这块空白位置在窗体中是一个被封装的 ...