none
button 特效制作 RRS feed

  • 问题

  • 你好:

          小弟在弄wpf的应用程序的时候,曾用过ribbon office ,其中的ribbonbutton给我留下了很深的影响,例如win7中的画图程序的颜色一按钮。小弟希望能把普通的按钮做成那样的效果。

           还有个问题,就是,某些按钮在特定环境下,才能使用,例如画图程序中的张贴复制,现在小弟也想普通的按钮也做成这个样子

    希望指教,谢谢....elegantluo

    2011年2月28日 13:52

答案

  • 你好,

    你可以为你的Button定义Template去实现,比如使用下面的代码:

    <Grid>

        <Button Width="50" Height="60">

            <Button.Template>

                <ControlTemplate>

                    <Grid>

                        <Grid.RowDefinitions>

                            <RowDefinition Height="40" />

                            <RowDefinition Height="30" />

                        </Grid.RowDefinitions>

                        <Viewbox Stretch="Fill">

                            <Image Source="http://www.google.co.uk/intl/en_ALL/images/logos/images_logo_lg.gif"/>

                        </Viewbox>

                        <TextBlock HorizontalAlignment="Center" Foreground="Coral" Grid.Row="1" Text="Google"/>

                    </Grid>

                </ControlTemplate>

            </Button.Template>

        </Button>

    </Grid>

    这样是可以实现的,当然,Button是一个ContentControl,你也可以通过直接对Button的Content属性进行赋值去实现你想要的结果,比如:

    <Button Width="50" Height="60">

                <Grid>

                    <Grid.RowDefinitions>

                        <RowDefinition Height="40" />

                        <RowDefinition Height="30" />

                    </Grid.RowDefinitions>

                    <Viewbox Stretch="Fill">

                        <Image Source="http://www.google.co.uk/intl/en_ALL/images/logos/images_logo_lg.gif"/>

                    </Viewbox>

                    <TextBlock HorizontalAlignment="Center" Foreground="Coral" Grid.Row="1" Text="Google"/>

                </Grid>

            </Button>

    这样也是可以的。

    至于你的第二个问题,你说的特定情况下才能使用,我想你的意思是设置Button的IsEnabled属性吧,当IsEnabled为true的时候你的Button是可以点击的,反之,你的Button就是不可以点击的。

     

    Best regards,


    Sheldon _Xiao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 elegantluo 2011年2月28日 15:00
    2011年2月28日 14:29
    版主