用户控制背景隐藏儿童控制

时间:2015-09-11 15:21:46

标签: c# wpf

设置了用户控件的背景,但该背景隐藏了包含的控件。怎么解决这个问题?

<UserControl x:Class="PL_Wpf.CustomControls.Conditioner"
         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:PL_Wpf.CustomControls"
         mc:Ignorable="d" Height="166" Width="349">
<UserControl.Background>
    <ImageBrush ImageSource="Conditioner.png" Stretch="None"/>
</UserControl.Background>
<Grid >

    <ComboBox  x:Name="combo1" HorizontalAlignment="Right" Width="57" Margin="0,68,53.206,70"   />

    <ToggleButton  x:Name="ToggleSwitch" Height="50"  Click="ToggleSwitch_Click" Margin="97.205,55,115.206,61" d:LayoutOverrides="Width"   >

        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Style.Triggers>
                    <Trigger  Property="IsChecked" Value="True">
                        <Setter Property="Content">
                            <Setter.Value>
                                <Image Source="../Pics/switch_on.png" />
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                    <Trigger Property="IsChecked" Value="False">
                        <Setter Property="Content">
                            <Setter.Value>
                                <Image Source="../Pics/switch_off.png" />
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>
</Grid>

jsfiddle.net/wgfw1Ld7/

1 个答案:

答案 0 :(得分:0)

在设计图面上删除时,控件上的Margin属性会自行设置。如果调整Canvas上的项目,则可能需要此功能,但在处理大多数Xaml控件放置时,这些功能主要是烦恼。

删除Margin属性,以便在网格上的正确位置查看控件。