Avalonia UI 弹出叠加层

2024-01-08

我的问题很简单:

如何使用 avalonia 实现叠加弹出效果?

我的意思是我想让包含我的 UI 元素的整个面板变暗一点(尝试了不透明度属性,但它看起来不太好,并且 OpacityMask 似乎只支持“透明”作为颜色,但我如果可能的话想要半透明甚至模糊)。然后我想显示一个小弹出框。如果这是 CSS 我就可以做position: absolute;,但是我不知道如何使用 avalonia 来做到这一点。

为了形象化我的意思,这里有一些 Windows 窗体应用程序的屏幕截图,我能够在其中实现所需的效果:

My UI without overlay effect: enter image description here

My UI with overlay effect: enter image description here

正如你所看到的,整个 UI 变暗了一点,而背景仍然可见(当使用 avalonia 时)Opacity属性的效果不相同并且非常不一致,因为在给定位置上彼此重叠的面板越多,背景似乎受Opacity看起来不太好。如果你愿意的话,我可以添加屏幕截图来说明稍后看起来有多糟糕。)

把它们加起来:

1. 如何稍微一致地使面板及其所有内容变暗(甚至模糊?),以便仅仅因为透明度表现得很奇怪,具有相同背景颜色的堆叠面板就不会变得可见?

2. avalonia相当于CSS是什么position: absolute;这样我就可以将弹出窗口放在屏幕中间并位于其他所有内容之上?


您可以使用与 WPF 中相同的技术:

<Window>
   <Grid>
      <DockPanel x:Name="YourMainContentGoesHere"/>
      <Border IsVisible="{Binding IsPopupVisible}" Background="#40000000">
          <YourPopupControlHere Width="200" Height="200"/>
      </Border>   
   </Grid>
</Window>

未配置Grid将显示元素在彼此之上,半透明Border的背景将使其余内容变暗。

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

Avalonia UI 弹出叠加层 的相关文章

  • VLC 媒体播放器有 C# 界面吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用 C 控制台应用程序中的包装器从 VLC 播放中当前播放的文件中读取曲目统计信息 时间 标
  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 为什么 C 程序使用 Scanf 给出奇怪的输出?

    我目前正在学习 C 编程 并且遇到了这个奇怪的输出 Program will try functionalities of the scanf function include
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如果将变量设置为等于新对象,旧对象会发生什么?

    假设我们有一个 X 类not有一个超载的operator 功能 class X int n X n 0 X int n n n int main X a 1 an object gets constructed here more code
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository

随机推荐

  • 自动重试 401 并使用 HttpClient 4.3 发送特定请求

    我在应用程序中使用特定的身份验证机制 登录应用程序将登录请求发送到特定的 url login 并获取存储在 cookie 中的会话令牌 服务器随时可以使令牌失效 其他请求将导致 401 我希望 HttpClient 自动检测 401 错误
  • UITableViewController 上的上边距

    我有一个 TabBarController 其中一个选项卡包含一个子视图 它是一个导航控制器 然后 我将继承 UITableViewController 的视图加载到导航控制器中 我的问题是 由于某种原因 表格视图开始位于导航控制器后面 而
  • vuejs 路由器 - 要求未定义

    我正在尝试从这个开始 https github com vuejs vue router https github com vuejs vue router 我已经克隆了该包 并按照说明进行构建 npm install npm run bu
  • 实体框架 6 中的多异步?

    这是我的代码 var banner context Banners ToListAsync var newsGroup context NewsGroups ToListAsync await Task WhenAll banner new
  • 在 Swift 4 中实现自定义解码器

    我想使用新的解码 XML 文档DecodableSwift 4 中引入的协议 但是 似乎没有符合该协议的 XML 解码器的现有实现Decoder协议 我的计划是使用 SWXMLHash 库来解析 XML 然后可能使XMLIndexer该库中
  • 为什么选择 React.Children.only?

    向反应专家提出快速问题 React Children only https reactjs org docs react api html reactchildrenonly是它的顶级 api 之一 react redux 非常常用
  • 是否可以通过AWS lambda连接到本地计算机托管的数据库

    我在 AWS 中启动了一个 RDS 实例 s3 和 EC2 并且使用 lambda 正确触发了它 现在我希望将 RDS 和 EC2 从 AWS 更改为本地计算机 我的 lambda 是从 s3 触发的 在AWS中如何通过lambda连接本地
  • 来自事件的流星地理定位方法

    我想获取 latLng 但只能在事件发生后获取 如何才能实现这一目标 我尝试过跟踪器等 但没有任何效果 唯一有效的是调用 Geolocation latLng 从事件之前的助手内部 这就是我希望它能发挥作用的方式 我对 Session se
  • Sones GraphDB 查询返回错误

    我在这里关注他们的教程 http developers sones de wiki doku php id quickreference 五分钟指南 http developers sones de wiki doku php id qui
  • CryptoJS 和 Closure 中的 SHA512 不一样

    我在一个简单的加密挑战中遇到了一些麻烦 我想做以下事情 获取 url 编码和 base64 编码的值 进行 url 解码 进行 Base64 解码 使用 Sha512 进行哈希处理 使用 CryptoJS 时 我使用以下代码 var par
  • 在 Shiny R 中保存用户输入的 LeafletProxy 结果

    在 Shiny R 中 我正在制作一个带有叠加层的地图应用程序 然后添加用户输入的叠加层 因此 当用户上传数据并看到带有标记的更新地图后 我希望用户能够将新地图下载为 html 文件 我将在下面对我正在做的事情做一个简化的演示 服务器 ui
  • 如何动态或在运行时设置 PropertyGrid 的 DefaultValueAttribute?

    我正在定义一个与以下命令一起使用的自定义类属性网格 http msdn microsoft com en us library aa302326 aspx控制 比如说 其中一个属性定义如下 CategoryAttribute Section
  • Rspec 和 Capybara 未定义的局部变量或方法“page”

    嗨 我尝试开始我的第一个 RoR 项目 但一开始就陷入困境 我的 Gemfile 中有水豚 gem group development test do gem byebug gem web console gem spring gem rs
  • 在 Node、Webpack 和 babel-loader 中使用 ES7 async/await 时出错

    我正在尝试使用带有 webpack 和 babel loader es2015 stage 0 预设 的 node js 在服务器上使用 javascript ES7 语法 我已经让它可以与 babel node 一起使用 但是当我运行 w
  • 单击 GCM 通知时打开活动

    我正在制作 gcm 申请 现在我可以收到通知 但是当我点击通知时 它只是打开应用程序 我需要打开另一个活动而不是主活动 有什么办法可以做到这一点吗 final Intent intent new Intent context YourAct
  • 一只猴子如何修补 python 中的函数?

    我在用另一个函数替换不同模块中的函数时遇到了麻烦 这让我发疯 假设我有一个模块 bar py 如下所示 from a package baz import do something expensive def a function prin
  • 如何在 UIDatePicker 中记住并加载选定的日期?

    我有一个UIDatePicker那么 允许您选择日期 而不是时间 然后我保存这个NSDate并使用将其显示在不同视图的标签中 但是 当我使用以下命令加载视图时UIDatePicker 如果用户已经选择了一个日期 我希望它显示所选日期 使用N
  • NSURLProtocol canInitWithRequest:调用多次

    我们的应用程序中有很多网络视图 我最近添加了一个 NSURLProtocol 来拦截来自它们的一些请求 我注意到一些 Web 视图多次调用 NSURLPRotocol canInitWithRequest 方法 其请求似乎完全相同 有时6
  • 包含正则表达式分隔符的简单且经过测试的在线正则表达式在 C# 代码中不起作用

    我有一个像这样的正则表达式 name dr det fb ydp eu ebook trunk annotations ctrl php api1751 4060 1193 0487 name Regex Replace name W g
  • Avalonia UI 弹出叠加层

    我的问题很简单 如何使用 avalonia 实现叠加弹出效果 我的意思是我想让包含我的 UI 元素的整个面板变暗一点 尝试了不透明度属性 但它看起来不太好 并且 OpacityMask 似乎只支持 透明 作为颜色 但我如果可能的话想要半透明