向窗口添加具有透明背景的用户控件

本文关键字:背景 用户 控件 透明 窗口 添加 | 更新日期: 2023-09-27 18:01:25

我已经创建了一个UserControl和一些圆角边缘作为第一个真正的元素。实际背景是透明的。

<UserControl
         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:local="clr-namespace:QP_WPF" x:Class="GUI_WPF_Interior"
         xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
         xmlns:themes="clr-namespace:Xceed.Wpf.Toolkit.Themes;assembly=Xceed.Wpf.Toolkit"
mc:Ignorable="d" 
            DataContext="{Binding RelativeSource={RelativeSource Self}}"
         d:DesignWidth="600
" Background="transparent">
<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ColorsAndBrushes.xaml" />
            <ResourceDictionary Source="ControlTemplates.xaml"/>
        </ResourceDictionary.MergedDictionaries>
</UserControl.Resources>
<Border  Margin="10" Background="{StaticResource BG_GradientBrush_2}" CornerRadius="12,12,12,12">
....

(页边距只是为了更好地显示问题)

现在我想在一个窗口中显示这个UserControl。但是边缘和圆边使用的区域保持白色。

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:qp="clr-namespace:QP_WPF;assembly=QP_WPF"
Title="MainWindow" Height="680" Width="600"
WindowStyle="None"    
AllowsTransparency="True"
MouseLeftButtonDown="Window_MouseLeftButtonDown">
    <Grid Background="Transparent">
        <qp:GUI_WPF_Interior x:Name="GUIInterior" Background="Transparent"/>
    </Grid> 
</Window>

我需要做什么,使窗口只显示我的UserControls不透明的部分?

向窗口添加具有透明背景的用户控件

除了AllowTransparency

还可以尝试添加background=transparent