更改 WPF 中单个/活动窗口的系统语言

2024-03-04

WPF 中是否可以仅更改一个窗口的系统语言?

我知道关于InputLanguageManager但我认为它会改变整个系统的语言。


InputLanguageManager 完全符合您的要求。它更改当前应用程序的键盘布局。

操作系统为每个正在运行的应用程序保留键盘布局。例如。如果你打开记事本并切换到俄语,打开IE并切换到英语,当你激活记事本应用程序时,你的键盘区域设置仍然是俄语。

以下行仅更改当前应用程序的键盘区域设置:

InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("el-GR");

系统语言(或者更确切地说,系统区域设置)和键盘布局是完全不同的概念。键盘布局是键盘的布局。

.NET 应用程序中使用三种不同的区域设置:

  • UI 区域设置是用于显示消息和选择本地化 UI 字符串和布局的区域设置。您可以通过设置线程的 Thread.CurrentUICulture 属性来更改线程的 UI 区域设置。其初始值由区域设置中操作系统的显示语言决定
  • 线程的区域设置用于解析字符串并将日期和数字转换为字符串。您可以通过设置 Thread.CurrentCulture 属性来更改它。其原始值由操作系统的区域设置 Format 属性决定
  • 系统区域设置由非 Unicode 应用程序或写入 ASCII 文件和控制台时使用。

您还可以利用 WPF 数据绑定并使用 InputLanguage 作为附加属性。在 XAML 中,您可以将 InputLanguageManager.InputLanguage 属性添加到元素的声明中,如下所示:

<TextBox InputLanguageManager.InputLanguage="en-US"></TextBox>

然后,您可以将该属性绑定到代码隐藏或 ViewModel 中的属性。例如。

<TextBox InputLanguageManager.InputLanguage="{Binding MyLanguageInfo}"></TextBox>

将此属性设置为特定值将导致 UI 元素的键盘发生变化:

MyLanguageInfo = new CultureInfo("en-US");

or

MyLanguageInfo = new CultureInfo("el-GR");

您可以更进一步,将 InputLanguage 属性绑定到其他元素,例如。语言选项列表框

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 WPF 中单个/活动窗口的系统语言 的相关文章

  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 有没有一种简单的方法可以让 Visual Studio 2015 使用特定的 ToolsVersion?

    使用特定版本构建项目或解决方案时msbuild我可以使用以下命令选择早期的 net 工具链 toolsversion or tv switch C Program Files x86 MSBuild 14 0 bin msbuild tv
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • plackup 访问日志 - 区域设置和 open pragma - 编码问题

    我的区域设置是 utf8 因此 当启动 plackup 时 日期字符串也会本地化 因此我得到如下控制台访问日志 plackup a psgi HTTP Server PSGI Accepting connections at http 0
  • 不使用科学记数法的双精度数到字符串转换

    如何在 NET Framework 中将双精度数转换为不使用科学记数法的浮点字符串表示形式 小 样本 有效数字可以是任何大小 例如1 5E200 or 1e 200 3248971234698200000000000000000000000
  • jquery手机数字键盘phonegap

    我正在使用 jquerymobile 但无法让键盘仅显示数字键 包括小数 仅显示默认键盘 我使用的是phonegap 我用
  • 推荐一款便宜的串口设备

    我需要将我编写的 Java 应用程序与使用串行端口进行通信的医疗设备集成 该设备相当昂贵 而且也不那么便携 我希望能够随时随地测试代码 但在需要插入串行设备并开始测试之前 您只能做这么多 因此 我正在寻找一种使用串行端口进行通信的廉价便携式
  • 从 iframe 中删除滚动条

    使用此代码 这是它的样子 主页上的shoutboxhttp www talkjesus com http www talkjesus
  • Android L 预览版 ActionBar 中的 ProgressBar

    今天 我开始将一个应用程序移植到 Android L 预览版 以便在最终产品发布时使其几乎准备就绪 我发现的一个问题是 ActionBar 上不能有不确定的进度条 它根本不显示并在 logcat 上抛出此错误 E PhoneWindow C
  • IPython:如何将某些内容通过管道传输到 Python 脚本中

    我知道我可以通过以下方式在 IPython 中运行脚本run test py并从那里进行调试 但是如何将输出传输到 test py 中呢 例如 通常我可以在命令行中运行 例如grep ABC input txt test py 但是我如何在
  • 使用 javascript showModalDialog 将值从父表单传递到子表单

    如果我想将我的值传递给确认框 假设我想删除第 1 项 所以当我按下删除按钮时 我选中了复选框 弹出窗口中包含详细信息项目 1 我已经使用显示模式对话框 JavaScript 实现了弹出窗口 但我仍然无法将父值获取到子窗体中 此外 如果我选中
  • 如何获取另一个应用程序当前正在播放的音频[重复]

    这个问题在这里已经有答案了 我如何访问另一个应用程序当前正在播放的音频 实际的音频项目 但也欢迎元数据 我可以看到这个问题已经被问了很多 但多年来提供的解决方案却很少 我理解苹果的理念probably不希望应用程序能够执行此操作 我也明白这
  • Tailwind 自定义颜色在 Next.js 项目中不起作用[重复]

    这个问题在这里已经有答案了 当我分配给变量并使用它时 tailwind config js 中配置的自定义颜色不起作用 如下所示 其中button colour custom blue 颜色数据从cms获取并可以在cms中设置
  • Azure 诊断 - WADLogs 表未创建

    每当用户在云环境中的 WebRole 中执行某些操作时 我都会尝试记录信息 在模拟器中 它将在输出窗口中写入信息 但在 azue 门户中 我在任何地方都看不到信息 我已启用 azure 诊断并提供了 azure 存储凭据 但未创建 azur
  • 如何在Intellij Idea中为Android库项目构建jar而不包含不必要的内容

    当我在 Intellij Idea 中为 Android 库项目构建 jar 时 它会将我在项目中使用的所有依赖 jar 放入其中类 jar 但我认为所有这些东西都是不必要的 jar 只能包含已编译的类 例如 可以编译吗clean想法中的罐
  • 使用 cin >> 和 cout << 填充 C++ 类的字段

    我有一个班在MyClass h定义如下 ifndef MyClass h define MyClass h include
  • 使用 SQL Server 配置 Lucene.Net

    有人使用 Lucene NET 而不是使用 sql server 自带的全文搜索吗 如果是这样 我会对你如何实现它感兴趣 例如 您是否编写了一个每小时查询数据库然后将结果保存到 lucene net 索引的 Windows 服务 是的 我已
  • 为什么 glGetFramebufferAttachmentParameter 不起作用?

    我正在支持 OpenGL3 的设备上尝试以下代码 OpenGL 版本字符串 3 3 0 NVIDIA 310 19 glBindFramebuffer GL FRAMEBUFFER 0 checkGlError glGetFramebuff
  • Azure 函数调用本机 C++

    我正在 Azure 中设计一个新的架构 它是一个多租户 SaaS 应用程序 具有 ASP NET MVC 前端和 blob 存储中的一些应用程序特定数据 我需要在某些时候对此应用程序数据执行一些后台处理 目前这只能使用一些遗留的 C 代码
  • 如果子文档值不存在,Mongodb 插入子文档

    我对 mongodb 很陌生 我有点迷失 我有 mongo 数据库集合 如下所示 id id createdAt new Date name name friends name 1 children name sarah age 12 do
  • html 或 java 脚本代码在硬盘中创建文本文件

    请有人给我一个代码来在硬盘驱动器中创建一个文本文件 结果应该是一个html文件 当双击 html 文件时 它需要在硬盘驱动器 本地 的给定路径中创建一个文本文件 谢谢 出于安全原因 浏览器中常规 HTML 页面中的 JavaScript 不
  • 构造函数中的默认参数--C++

    我有一个 C 类 其中有一个构造函数char char ostream 我想提供一个默认值ostream cerr 这是在标题或 cpp file 您需要将参数设置为参考参数 您不应该尝试复制std cerr 您可能需要在头文件中指定默认参
  • 更改 WPF 中单个/活动窗口的系统语言

    WPF 中是否可以仅更改一个窗口的系统语言 我知道关于InputLanguageManager但我认为它会改变整个系统的语言 InputLanguageManager 完全符合您的要求 它更改当前应用程序的键盘布局 操作系统为每个正在运行的