问题标签 [window-chrome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 具有自定义窗口样式的后台 STA 线程使用窗口镶边引发跨线程访问异常
这个有点诡异。从 wpf 的主窗口(单击按钮),我正在创建另一个 STA 线程,其中我正在显示一个自定义窗口。此自定义窗口应用了一种使用 shell 中的 WindowChrome 类的样式。调用 Show() 方法时出现异常。
无法跨线程访问可冻结的“System.Windows.Shell.WindowChrome”,因为它无法被冻结。
如果我删除 WindowChrome 设置器,一切正常。我错过了什么?
我已经尝试将窗口镶边标记为冻结,但徒劳无功!
可在此处获得源的副本。
更新: 忘了提到在样式上添加 x:Shared="False" 似乎可以解决问题,但我不知道为什么!这会导致任何性能瓶颈吗?
MainWindow.xaml:
MainWindow.xaml.cs:
背景窗口.xaml:
WindowStyle.xaml(与 App.xaml 合并
c# - WPF C# - WindowChrome 调整重叠按钮的大小
我有一个带有 WindowChrome 对象和一个充满按钮的 UserControl 的窗口
我想要一个漂亮的无边框窗口,同时保持易于控制大小。
但是调整大小工具与按钮重叠,因此我无法单击它,只能单击按钮的左下角
如何将按钮放在调整大小对话框上方?
wpf - 如何使用 Caliburn.Micro 访问 ViewModel 中的视图属性
到目前为止,我只使用了 Caliburn.Micro 框架的基本功能。但现在我想要并且需要更深入地了解它。
现在,我需要在其视图模型中访问视图(窗口)的属性。
详细信息如下: 我使用 Microsoft 的 Window-Chrome (NuGet-Package: Microsoft.Windows.Chrome) 自定义 shell 窗口。现在我需要检查窗口的 WindowState-Property 的值,以正确设置绑定到其 ResizeBorderThickness-property 的属性。
如何使用 Caliburn.Micro 框架做到这一点?
附加信息:.NET Framework:4.5;Caliburn.Micro:3.1.0
c# - WPF 窗口位于最大化状态的顶部/左侧任务栏下方
我正在开发 WPF 应用程序,我遇到的问题是应用程序何时WindowStyle=None
位于WindowState = WindowState.Maximized
顶部或左侧放置的任务栏下方。
当任务栏位于底部或右侧时,一切正常。
我知道窗口Left
的Top
属性,但它们在Maximized
状态中被忽略了。
此外,它还Microsoft.Windows.Shell.WindowСhrome
提供拖动、双击以最大化和恢复、捕捉和取消捕捉的能力。(需要添加为 dll 引用)
我想实现我的应用程序不会隐藏或进入任务栏,并且可以与WindowСhrome
提供的行为一起正常工作。
主窗口.xaml
主窗口.xaml.cs
wpf - 当我们为 Window 设置 WindowChrome 时,TaskBar 未显示
我将系统任务栏设置为自动隐藏,然后以最大化状态运行 WPF 应用程序。当应用程序处于最大化状态时,我将鼠标悬停在屏幕底部以查看任务栏,但它没有出现。找到下面的代码块。
显示任务栏的任何解决方法?
提前致谢。
问候, 普里扬加 B
wpf - WPF 窗口 Chrome 样式
我正在使用WindowChrome 类来解决任务栏和应用程序标题中不同图标的问题。这是我的 window.style 示例:
但是当最大化(通过双击/最大化按钮单击或停靠到顶部)时,标题背景为黑色,我看不到任何按钮并且我的图标超出了屏幕范围。:(
有什么建议么?我的风格做错了什么?
c# - 在 Loaded 事件中调用 Close() 时 WPF 自定义 WindowChrome 异常
设想:
CustomWindow
带有自定义模板/ WindowChrome的WPF 窗口 ( ) 。- 问题:尝试在
Loaded
事件 throws中关闭窗口NullReferenceException
。 - 解决方法:
- 如果我注释掉
WindowChrome
setter,那么它就可以工作。- 但失去自定义镀铬
- 如果我在关闭窗口之前延迟了任意时间,那么它就可以工作。
- 使用延迟感觉不对
- 如果我注释掉
问题:
只有延迟解决方法允许我 1) 保留我的自定义窗口镶边和 2) 不引发异常。
但是延迟解决方案感觉就像一个黑客。
有一个更好的方法吗?
自定义窗口 xaml
用法
堆栈跟踪:
环境:
- 视窗 10 专业版
- 视觉工作室 2017
- .NET 4.6.1
解决方案
将代码更改为以下作品:
c# - 为什么添加 ContentControl 会导致我的应用程序进入中断模式?
简短的
我创建了一个漂亮的WindowChrome
样式来应用到我的窗户上。但是,当我添加ContentControl
到我的样式时,应用程序会进入中断模式。
我已经将这个 youtube 视频、这篇文章、这个 SO 问题和Microsoft 文档中的代码拼凑在一起,并且我想出了以下代码。
注意:下面的代码都被认为是相关的,因为应用程序无法使用这些部分中的任何一个运行(是的,我知道它可以在没有代码隐藏的情况下运行,但是不得不从 Visual Studio 而不是关闭按钮停止应用程序很烦人 - 其中也是我想要完成的)。我实际上已经精简了下面的代码,以便更容易使用。
代码
窗口.xaml
图标.xaml
Window.xaml通过引用此文件的ContentControl
Template
属性值App.xaml
。
窗口.xaml.cs
问题
当该行<ContentControl Template="{StaticResource Icon_Close}" Height="10"/>
存在时(第 38 行),将收到以下消息。当同一行被删除/注释掉时,应用程序在不进入中断模式的情况下运行。
查看输出窗口,我收到以下消息:
问题
此代码在直接放在 的 XAML 代码中时有效Window
,但是当我尝试将其放在模板中时它失败了。
我的问题是:
- 为什么我的应用程序放在的模板中时会进入中断模式?
ContentControl
Window
- 我该如何解决这个问题?
- 请注意,我必须使用文件中的 my
ControlTemplate
,Icons.xaml
并且对此内容的调用必须保留在窗口中Style
(而不是窗口的实际 xaml)。
- 请注意,我必须使用文件中的 my
c# - WPF WindowChrome导致调整大小时闪烁
我正在使用 WindowChrome 以一种简单快速的方式重新设置窗口的样式,但问题是在调整窗口大小时会出现闪烁,尤其是在从左到右调整大小时。
当这部分 WindowChrome 被删除时,一切都会恢复正常。
c# - 使用 WindowChrome 类设置标题栏背景
我只想设置 WPF 窗口的标题栏和边框,但标题背景属性看起来并没有在类中公开。
我想保留所有默认Window
行为,只需设置color property
ofTitle Bar
和Border
要设置的正确属性是什么?
我看到的唯一属性是 Title 属性,设置它的颜色没有效果