none
自定义一个button的样式, 当按下按钮时,我想把内容的位置left-1, top-1, 应该怎么写呢? RRS feed

  • 问题

  • <Style TargetType="Button" x:Key="SimpleButton">
                <Setter Property="Cursor">
                    <Setter.Value>Hand</Setter.Value>
                </Setter>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <ContentPresenter  x:Name="content" HorizontalAlignment="Center" VerticalAlignment="Center" Content="{TemplateBinding  Content}">
                                <ContentPresenter.BitmapEffect>
                                    <DropShadowBitmapEffect Color="#000" Direction="-90" ShadowDepth="0" Softness="0.1" Opacity="1" />
                                </ContentPresenter.BitmapEffect>
                            </ContentPresenter>
                            <ControlTemplate.Triggers>
                                <!--鼠标移入移出-->
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Trigger.EnterActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation To="2" Duration="0:0:0.2" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.ShadowDepth)" />
                                      
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </Trigger.EnterActions>
                                    <Trigger.ExitActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetName="content" Storyboard.TargetProperty="(ContentPresenter.BitmapEffect).(DropShadowBitmapEffect.ShadowDepth)" />
                                          
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </Trigger.ExitActions>
                                </Trigger>

    <!--鼠标按下-->
                                <Trigger Property="IsPressed" Value="True">
                                    <Trigger.EnterActions>
                                        /////这里应该怎么写呢??
                                    </Trigger.EnterActions>
                                    <Trigger.ExitActions>
                                      
                                    </Trigger.ExitActions>
                                </Trigger>

                            </ControlTemplate.Triggers>
                            
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    2010年12月29日 5:36

答案

全部回复

  •  <Trigger Property="IsPressed" Value="True">
      <Setter Target="content" Property="Margin" Value=""-1/>                              
      </Trigger>
    • 已建议为答案 Jarrey 2010年12月30日 16:53
    2010年12月30日 0:34
  • 如果只是 Left -1  Top -1

    那么你的 Margin 可以设置为:

     <Trigger Property="IsPressed" Value="True">

      <Setter Target="content" Property="Margin" Value="-1,-1,0,0"/>                              
      </Trigger>


    Best day, Best life
    2010年12月30日 16:54
  • 哦,后来我用TranslateTransform实现了
    2011年1月3日 8:18