如何在wpf中为用户控件设置透明

时间:2014-08-27 10:01:02

标签: wpf

我创建了一个消息框用户控件,角落半径如下图所示,但是,我无法为此用户控件设置transaparent。请帮帮我。

非常感谢。

enter image description here

更新

我已经实现了你的指令,但它仍然不透明,我认为背景的用户控制是白色的,请帮帮我。以下是我的代码:

<UserControl x:Class="Nanote.TestDialog"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             d:DesignHeight="200"
             Height="200" Width="450"
             d:DesignWidth="300"
             mc:Ignorable="d">
    <Border CornerRadius="20" BorderBrush="Black" BorderThickness="10" 
        Background="Transparent">
        <Rectangle Fill="White" Margin="10" />
    </Border>
</UserControl>

2 个答案:

答案 0 :(得分:6)

考虑以下XAML:

<Grid Background="Red">
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid Margin="20">
        <Border CornerRadius="20" BorderBrush="Black" BorderThickness="10" 
            Background="Transparent">
            <Rectangle Fill="White" />
        </Border>
    </Grid>
    <Grid Grid.Row="1" Margin="20">
        <Rectangle Fill="White" />
        <Border CornerRadius="20" BorderBrush="Black" BorderThickness="10" 
            Background="Transparent" />
    </Grid>
    <Border Grid.Row="2" CornerRadius="20" BorderBrush="Black" BorderThickness="10" 
        Background="White" Margin="20">
        <Rectangle Fill="White" Margin="10" />
    </Border>
</Grid>

这会产生以下输出:

enter image description here

希望您现在可以通过此示例制定出自己的解决方案。

答案 1 :(得分:3)

首先将控件的背景设置为透明,然后添加半径边框(CornerRadius =&#34; 10&#34;),INSIDE您放置内容GRID的边框

 <Border BorderBrush="Black"  BorderThickness="1,1,1,1" Background="White" CornerRadius="10,10,10,10">
 <Grid ></Grid>
 </Border>