views:

9

answers:

0

Hi

I've created a user control like this:

<UserControl.Resources>
<LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0">
  <GradientStop Color="#F3F3F3" Offset="0"/>
  <GradientStop Color="#EBEBEB" Offset="0.5"/>
  <GradientStop Color="#DDDDDD" Offset="0.5"/>
  <GradientStop Color="#CDCDCD" Offset="1"/>
</LinearGradientBrush>

<SolidColorBrush x:Key="ButtonNormalBorder" Color="#FF707070"/>

<Style TargetType="{x:Type Button}">
  <Setter Property="Background" Value="{DynamicResource ButtonNormalBackground}"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ButtonBase}">
        <Grid>
          <Border Visibility="Collapsed" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}" CornerRadius="3" BorderThickness="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
            <StackPanel Orientation="Horizontal" Margin="8,1,5,1">
              <Image Source="{Binding ElementName=IB, Path=Image}" Width="{Binding ElementName=IB, Path=ImageWidth}" Height="{Binding ElementName=IB, Path=ImageHeight}"/>
              <TextBlock Text="{Binding ElementName=IB, Path=Text}" Foreground="{Binding ElementName=IB, Path=TextForeground}" Margin="{Binding ElementName=IB, Path=TextMargin}" VerticalAlignment="Center"/>
            </StackPanel>
          </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>
</UserControl.Resources>

<!-- Components for ImageButton control. -->

and i want later to use it like this:

<uc:ImageButton Image="/Images/Img1.png" Text="Function1"/> <!-- Use default style. -->

<uc:ImageButton Image="/Images/Img1.png" Background="Blue" BorderBrush="Yellow" Text="Function2"/> <!-- Override default style. -->

But currently i don't get any background at all (not the one i've set in the usercontrol and neither the one i've set when using the usercontrol ).