簡體   English   中英

自定義按鈕上的“點擊”效果

[英]“Click” effect on a customized button

我在互聯網上尋找箭頭形按鈕。 我找到了這個解決方案:

 <Button HorizontalAlignment="Center" Click="Button_Click">
         <Button.Template>
             <ControlTemplate TargetType="Button">
                 <Grid>
                     <StackPanel Orientation="Horizontal">
                         <Rectangle Width="100" Height="25" Stroke="Orange" Fill="Orange" VerticalAlignment="Center"/>
                         <Polygon  Points= "0,0 30,25, 0,50" Stroke="Orange" Fill="Orange" VerticalAlignment="Center"/>
                     </StackPanel>
                     <ContentPresenter HorizontalAlignment="Left" Margin="45,0,0,0" VerticalAlignment="Center" Content="Login"/>
                 </Grid>
             </ControlTemplate>
         </Button.Template>
 </Button>

問題是,盡管這是一個可以單擊的按鈕,但我“失去”了按鈕單擊效果(即按下按鈕時的效果)。 你知道有辦法解決我的問題嗎?

您需要在自定義模板中自己定義此效果。

添加一個IsPressed觸發器,以更改模板中元素的某些屬性:

<Button.Template>
    <ControlTemplate TargetType="Button">
        <Grid>
            <StackPanel Orientation="Horizontal">
                <Rectangle x:Name="rect" Width="100" Height="25" Stroke="Orange" Fill="Orange" VerticalAlignment="Center"/>
                <Polygon x:Name="pol"  Points= "0,0 30,25, 0,50" Stroke="Orange" Fill="Orange" VerticalAlignment="Center"/>
            </StackPanel>
            <ContentPresenter HorizontalAlignment="Left" Margin="45,0,0,0" VerticalAlignment="Center" Content="Login"/>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="IsPressed" Value="true">
                <Setter Property="Fill" TargetName="rect" Value="Red"/>
                <Setter Property="Fill" TargetName="pol" Value="Blue"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>
</Button.Template>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM