c# - 是否可以将 UserControl 设置为始终高于应用程序?
问题描述
我正在我的 WPF 应用程序中创建反馈选项。主窗口下方有 TabControl 和状态栏。状态栏有一个按钮,它显示带有动画的 FeedBackView。
所以,FeedBackView 不是一个窗口,它是一个 UserControl,它包含在 Canvas Border 中。
该应用程序有一些选项,可以打开其他模式窗口,所以在那一刻反馈表单是不可访问的。我试图设置 Panel.ZIndex = 1 并没有帮助。那么有没有办法在应用程序中设置表单超级顶层?
<UserControl x:Class="UPR.Wpf.App.Views.StatusBarContentView"
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:v="clr-namespace:UPR.Wpf.App.Views.FeedBack"
xmlns:vm="clr-namespace:UPR.Wpf.App"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" Loaded="UserControl_Loaded">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Styles/Buttons.xaml"/>
</ResourceDictionary.MergedDictionaries>
<BooleanToVisibilityConverter x:Key="xBooleanToVisibilityConverter"/>
</ResourceDictionary>
</UserControl.Resources>
<Canvas>
<Button Name="FeedBackButton"
Click="FeedBackButton_Click"
Loaded="FeedBackButton_Loaded"
BorderThickness="0.5"
BorderBrush="Gray"
Foreground="White"
FontWeight="Bold"
FontSize="15"
Height="32"
Canvas.Bottom="-17"
Canvas.Right="-150">
</Button>
<Border BorderBrush="Gray"
Panel.ZIndex="1"
BorderThickness="2"
Name="border"
Margin="-350,0,-178,-9"
Background="White"
Canvas.Bottom="24"
Canvas.Right="-5"
SizeChanged="border_SizeChanged">
<v:FeedBackView/>
</Border>
</Canvas>
</UserControl>
解决方案
推荐阅读
- docker - 使用 Redis 向不安全的 docker 容器提供数据
- node.js - 不明白为什么我得到一个 TypeError: Cannot read property '_id' of undefined in React
- reactjs - React 中的受保护路由,不传递参数
- java - 来自字符串 java 的货币格式
- c# - 如何在发布时创建静态文件夹?
- ruby-on-rails - Rails 5 - 如何防止 Rails 将语言环境添加到构造路径上的 URL?
- tensorflow - TensorFlow Hparam 替换
- python - 如何在 Keras 中训练只有一个嵌入层且没有标签的模型
- javascript - 将 HTML 变量传递给 Angular 组件
- angular - Angular DataTables - 来自本地存储的 ajax 调用