2017-07-30 55 views
0
<UserControl x:Class="rd_terminal.terminal_pages.button_controls.red_button.exiPadButton" 
     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" 
     mc:Ignorable="d" 
     d:DesignHeight="79" d:DesignWidth="256" 
     DataContext="{Binding RelativeSource={RelativeSource Self}}"> 
<Button Name="button" Width="256" Height="79" Click="button_Click_1" FontSize="20" FontWeight="Bold"> 
    <Button.Template> 
     <ControlTemplate TargetType="{x:Type Button}"> 
      <Border Name="buttonBorder"> 
       <Border.Effect> 
        <DropShadowEffect Opacity="0.0" /> 
       </Border.Effect> 
       <Border.Child> 
        <Image Name="img" Source="{Binding NormalImage}"/> 
       </Border.Child> 
      </Border> 

      <ControlTemplate.Triggers> 
       <Trigger Property="IsMouseOver" Value="true"> 
        <Setter TargetName="buttonBorder" Property="Effect"> 
         <Setter.Value> 
          <DropShadowEffect Opacity="0.0" /> 
         </Setter.Value> 
        </Setter> 

       </Trigger> 
       <Trigger Property="IsMouseCaptured" Value="true"> 
        <Setter TargetName="buttonBorder" Property="Effect"> 
         <Setter.Value> 
          <DropShadowEffect Opacity="0" Direction="135" 
         ShadowDepth="0" BlurRadius="0" /> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
       <Trigger Property="IsPressed" Value="true"> 
        <Setter TargetName="img" Property="Source" Value="{Binding DisabledImage}"/> 
        <Setter TargetName="buttonBorder" Property="Effect"> 
         <Setter.Value> 
          <DropShadowEffect Opacity="0.0"/> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Button.Template> 

</Button> 

无法设置按钮的内容 - WPF

我有这个按钮的用户控制。它工作正常,直到我添加内容,然后它不再工作。它甚至不能被点击,并且图像在内容词进入时不会改变。有谁知道如何解决这个问题?

回答

0

WPF按钮将需要内容展示器来呈现内容类型。您必须在控制模板中添加内容演示者。 请尝试下面的修改代码:

<UserControl> 
<UserControl.Resources>  
    <Style x:Key="ImageEnabled" TargetType="Image"> 
     <Style.Triggers> 
      <Trigger Property="IsEnabled" Value="False"> 
       <Setter Property="Opacity" Value="0.25"></Setter> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</UserControl.Resources> 
<Button Name="button" Width="256" Height="79" Click="button_Click_1" FontSize="20" FontWeight="Bold"> 
     <Image Source="{StaticResource NormalImage}" Style="{StaticResource ImageEnabled}"/> 
    <Button.Template> 

<ControlTemplate TargetType="{x:Type Button}"> 
         <Border Name="buttonBorder"> 
          <Border.Effect> 
           <DropShadowEffect Opacity="0.0" /> 
          </Border.Effect> 
          <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
         </Border> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsMouseOver" Value="true"> 
           <Setter TargetName="buttonBorder" Property="Effect"> 
            <Setter.Value> 
             <DropShadowEffect Opacity="0.0" /> 
            </Setter.Value> 
           </Setter> 

          </Trigger> 
          <Trigger Property="IsMouseCaptured" Value="true"> 
           <Setter TargetName="buttonBorder" Property="Effect"> 
            <Setter.Value> 
             <DropShadowEffect Opacity="0" Direction="135" 
         ShadowDepth="0" BlurRadius="0" /> 
            </Setter.Value> 
           </Setter> 
          </Trigger> 
          <Trigger Property="IsPressed" Value="true"> 
           <Setter TargetName="buttonBorder" Property="Effect"> 
            <Setter.Value> 
             <DropShadowEffect Opacity="0.0"/> 
            </Setter.Value> 
           </Setter> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
</Button.template> 
</Button> 
</UserControl> 
+0

无法让它工作?它说属性视觉设置不止一次 –

+0

nope,它仍然不起作用,它没有禁用图像点击鼠标和按钮不能被点击。 –

+0

资源NormalImage无法解决 –