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

标签 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>

我很难理解这一点,任何帮助将不胜感激。

最佳答案

在 XAML 中,您是否使整个 UserControl 透明?
<UserControl Background="Transparent">

关于wpf - 如何在 WPF 中创建透明的用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824154/

相关文章:

C# 将 'old' WinForms 转换为 Web 应用程序,还是在新平台上重写?

c# - 在 WPF 中取消取消选中

c# - .NET UserControl 接受按钮最佳实践?

c# - LoadControl,WebMethod 中的用户控件

c# - 如何将 WPF CustomControl 绑定(bind)到 ListBox

c# - 带图像的 WPF 单选按钮

WPF DataGrid 列宽

c# - 如何从列表框中选择的项目中获取特定属性

C# 用户控件需要在最终应用程序中访问外部 cs 文件

wpf - WPF 是否使用 native Windows 控件?