开发者

Looking for a Office 2007 Style zoom slider template

开发者 https://www.devze.com 2022-12-09 22:05 出处:网络
Has anyone seen a good template for a Office 2007 style zoom slider? As shown in this picture alt text http://www.theexceladdict.com/images/zoom_controls_excel_2007_2003.jp开发者_开发问答gSomething l

Has anyone seen a good template for a Office 2007 style zoom slider?

As shown in this picture alt text http://www.theexceladdict.com/images/zoom_controls_excel_2007_2003.jp开发者_开发问答g


Something like this would be very easy to create.

First create a button style:

  <Style x:Key="ZoomIncreaseDecreaseStyle" TargetType="{x:Type RepeatButton}">
    <Setter Property="OverridesDefaultStyle" Value="true" />
    <Setter Property="IsTabStop" Value="false" />
    <Setter Property="Focusable" Value="false" />
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type RepeatButton}">
          <Grid>
            <Ellipse Stroke="Gray" x:Name="Ellipse">
              <Ellipse.Fill>
                <RadialGradientBrush ... />
              </Ellipse.Fill>
            </Ellipse>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
          </Grid>
          <ControlTemplate.Trigger>
            <Trigger Property="IsMouseOver" Value="true">
              <Setter TargetName="Ellipse" Property="Fill">
                <RadialGradientBrush ... />
              </Setter>
            </Trigger>
          </ControlTemplate.Trigger>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  <Style>

Then modify the ControlTemplate in Blend (create copy), and add something like this around the <Grid>:

  <DockPanel>
    <RepeatButton
      DockPanel.Dock="Left"
      Command="{x:Stastic Slider.DecreaseLarge}"
      ControlTemplate="{StaticResource ZoomIncreaseDecreaseStyle}">
      <Path Data="{StaticResource MinusGeometry}" />
    </RepeatButton>
    <RepeatButton
      DockPanel.Dock="Right"
      Command="{x:Stastic Slider.IncreaseLarge}"
      ControlTemplate="{StaticResource ZoomIncreaseDecreaseStyle}">
      <Path Data="{StaticResource PlusGeometry}" />
    </RepeatButton>

    <Grid>
      ...

You can play with the button stroke color, gradient fill, and the + and - paths to get it the way you want it. I assume the actual Office 2007 buttons are copyrighted so you probably won't be able to copy them too closely without infringing. But this will give you something visually very similar.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号