即使在wpf中设置为transperent后,用户控件背景颜色也不会更改

时间:2016-04-21 13:42:52

标签: c# wpf xaml user-controls

您好我设计了一个用户控件作为弹出窗口使用,我已将usercontrol背景属性设置为transperent但背景并未获得transperent enter image description here

我需要浅橙色透明

这是我的用户控件的xaml代码

<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:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="WPFTest.UCToolTip" 
         mc:Ignorable="d" Height="231.493" Width="362.075"
         Background="Transparent"  >
<UserControl.Resources>
    <Style TargetType="{x:Type Hyperlink}">
                 <Setter Property="TextBlock.TextDecorations" Value="{x:Null}" />
    </Style>
</UserControl.Resources>
<Grid Margin="10,0,0,0">
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid Background="Orange" Margin="0,0,0,33">
        <!--Your content here-->
    </Grid>
    <Polygon
    Points="0,0 15,0, 0,30" Stroke="Orange" Fill="Orange" Margin="0,198,0,1" />
</Grid>

1 个答案:

答案 0 :(得分:0)

问题似乎是您错误地使用了Grid。您需要指定项目所在的行,一旦这样做,您就不需要所有这些边距。并且您的第一行需要具有Height =“Auto”,因此它会扩展以适合其中的内容。

<Grid>
    <Grid Margin="10,0,0,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid Grid.Row="0"  Background="Orange" Margin="0,0,0,0" >
            <Label>My Content</Label>
        </Grid>
        <Polygon 
            Grid.Row="1" 
            Points="0,0 15,0, 0,30" 
            Stroke="Orange" 
            Fill="Orange" 
            Margin="0,0,0,1" />
    </Grid>
</Grid>