如何在WPF中创建透明用户控件?

时间:2012-10-10 16:30:25

标签: wpf user-controls wpf-controls transparency

我有一个WPF应用程序,其上有一个用户控件。我希望用户控件背景是透明的,但该用户控件上的按钮等是可靠的。

下图显示了我现在拥有的内容。我希望红色区域的内部是透明的(理论上用户控件可以是许多不同的形状)但是控件中包含的控件是实心的。

enter image description here

主窗口XAML是;

<Canvas Height="450" Width="300">
    <Border Opacity=".2" >
        <Image Source="D:\\BarbourCoat.jpg" Width="300" ></Image>
    </Border>
    <local:UserControl1 Height="100" Canvas.Left="10" Canvas.Top="10" Width="100"/>
</Canvas>

虽然用户控制XAML是;

<Canvas Background="Transparent">
    <Path Data="M 10 10 L 100 10 L 250 50 L 280 200 L 180 250 L 25 270 Z" Stroke="Red"></Path>
    <Button Content="Button" HorizontalAlignment="Left" Margin="41,53,0,0" VerticalAlignment="Top" Width="75"/>
    <TextBox HorizontalAlignment="Left" Height="23" Margin="90,112,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
    <TextBlock HorizontalAlignment="Left" Margin="69,209,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
</Canvas>

我很难理解这一点,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:5)

在XAML中,你是否让整个UserControl变得透明?

<UserControl Background="Transparent">