首页 > 解决方案 > 是否可以将 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>

标签: c#wpf

解决方案


推荐阅读