0

我正在使用项目模板制作一个按钮,但是当我单击 Button 时,它不会显示它是否被击中。

我希望它看起来像普通按钮一样被点击。

我试图设置按钮的 ishitvisible 属性,但它不起作用。

谁能帮忙??

 <Button Name="BtnSignUp" Grid.Row="3" VerticalAlignment="Top" Click="BtnSignUp_Click" >
            <Button.Template>
                <ControlTemplate>
                    <Border Margin="5,15,0,0" BorderThickness="2" BorderBrush="#866DA9">
                        <StackPanel Orientation="Horizontal" Background="#491776" IsHitTestVisible="True" >
                            <TextBlock Text="Sign Up Now -" Margin="35,5,0,0" FontSize="23" FontWeight="Medium"/>
                            <TextBlock Text=" it's free" Margin="0,5,35,10" FontSize="23" FontStyle="Italic" FontWeight="Normal" />
                        </StackPanel>
                    </Border>
                </ControlTemplate>
            </Button.Template>
        </Button>
4

1 回答 1

2

正如您所说,您没有使用项目模板。您覆盖控制模板。所以你不能得到按钮的默认按下效果。但是您仍然可以使用可视状态管理器或通过触发器添加它。

我已经发布了一个如何在鼠标悬停并按下时调整不透明度的示例。

            <Button Name="BtnSignUp" Grid.Row="3" VerticalAlignment="Top" Click="BtnSignUp_Click" >
            <Button.Template>
                <ControlTemplate>
                    <Border Margin="5,15,0,0" BorderThickness="2" BorderBrush="#866DA9">
                        <StackPanel x:Name="bor" Orientation="Horizontal" Background="#491776" IsHitTestVisible="True" >
                            <TextBlock Text="Sign Up Now -" Margin="35,5,0,0" FontSize="23" FontWeight="Medium"/>
                            <TextBlock Text=" it's free" Margin="0,5,35,10" FontSize="23" FontStyle="Italic" FontWeight="Normal" />
                        </StackPanel>
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="bor" Property="Opacity" Value="0.7"/>
                        </Trigger>
                        <Trigger Property="Button.IsPressed" Value="True">
                            <Setter Property="Opacity" TargetName="bor" Value="0.6"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Button.Template>
        </Button>
于 2013-06-21T07:33:42.827 回答