代码之家  ›  专栏  ›  技术社区  ›  yoav.str

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

  •  0
  • yoav.str  · 技术社区  · 14 年前

    我有一个简单的按钮。我想切换它的模板(或样式…)当它被预先处理。

    我想换成这个

    <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默认值或鼠标悬停在按钮上时,它的get是我的绿色或绑定的蓝色默认颜色…

    我的目标是当它点击连接到一个颜色的绑定和一个故事板 有人能帮我完成吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Ben Gribaudo    14 年前

    你可以用一个触发器来达到这个效果。当按钮的ispressed属性(或某些类似属性)等于true时,可以设置一个触发器,将background属性更改为所需的值。

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