wpf按钮触发器不能正常工作

时间:2010-10-04 13:52:17

标签: wpf wpf-controls

我有一个简单的按钮。我想在预设时切换它的模板(或样式......)。

我想改变这个

<DataTemplate>
    <Button Click="Button_Click"
            DataContext="{Binding}"
            Height="65" Width="79"
            Background="Black"
            Content="{Binding Path=CardWasFounded}"/>
</DataTemplate>

到此:

<DataTemplate>
    <Button Click="Button_Click"
            DataContext="{Binding}"
            Height="65" Width="79"
            Background="{Binding Path=ButtonColor}"
            Content="{Binding Path=CardWasFounded}"/>
</DataTemplate>

修改

我完成后

<DataTemplate>
    <Button Name="btn"
            Click="Button_Click"
            DataContext="{Binding}"
            Height="65" Width="79"
            Background="Black"/>

     <DataTemplate.Triggers>
         <Trigger SourceName="btn" Property="IsMouseCaptured" Value="True" >
             <Setter TargetName="btn" Property="Background" Value="Green"/>
                           <!--"{Binding Path=ButtonColor}"-->
         </Trigger>
     </DataTemplate.Triggers>
</DataTemplate>

它仍然不起作用我认为这是因为.net默认或当鼠标悬停在按钮上时它的颜色是我的绿色或我的绑定所带来的蓝色颜色......

我的目标是点击它来绑定颜色和故事板的绑定 有人可以帮助我实现吗?

1 个答案:

答案 0 :(得分:1)

您可以使用触发器实现此效果。当按钮的IsPressed属性(或某些类似属性)等于true时,您可以设置一个触发器,将Background属性更改为所需的值。

有关更多信息,请查看:  http://en.csharp-online.net/WPF_Styles_and_Control_Templates%E2%80%94Property_Triggers