Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
About my WPF app to draw a Bolt Hole Pattern.
Message
De
31/07/2008 15:16:53
 
 
À
31/07/2008 14:18:32
Information générale
Forum:
ASP.NET
Catégorie:
Windows Presentation Foundation (WPF)
Divers
Thread ID:
01334102
Message ID:
01335614
Vues:
11
>John - be sure to see my new screen shot:
>
>http://www.jordanmachine.com/BoltHole_WPF_2.jpg

Looking good Matt!

I've been going back and forth on how to do the spinner thing....

It could eather be a user control or a sub classed text box. Since I already have a numeric textbox I think I'm going to subclass that.

Here's the template so far:
 <Style x:Key="cdsSpinnerStyle" TargetType="TextBox">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    <Setter Property="MinWidth" Value="120"/>
    <Setter Property="MinHeight" Value="20"/>
    <Setter Property="Height" Value="20"/>
    <Setter Property="AllowDrop" Value="true"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="TextBox">
          <Border Name="Border"
                  CornerRadius="0" 
                  Padding="2"
                  Background="{StaticResource WindowBackgroundBrush}"
                  BorderBrush="{StaticResource SolidBorderBrush}"
                  BorderThickness="1" >
            <DockPanel Name="SpinnerButtons" >
              <StackPanel DockPanel.Dock="Right">
                <Button  Name="PART_SpinnerUp"   Margin="0,-2,-2,-1" Padding="0,-2,0,0" Height="10">
                  <Path Fill="{TemplateBinding Foreground}" Data="M -0.5 3 L 5.5 3 L 2.5 0 Z"/>
                </Button>
                <Button Name="PART_SpinnerDown" Margin="0,-1,-2,-3" Padding="0,-3,0,0" Height="10">
                  <Path Fill="{TemplateBinding Foreground}" Data="M -0.5 3 L 5.5 3 L 2.5 6 Z"/>
                </Button>
              </StackPanel>
              <ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
              </DockPanel>
          </Border>
          <ControlTemplate.Triggers>
            <Trigger Property="IsEnabled" Value="False">
              <Setter TargetName="Border" Property="Background" Value="{StaticResource DisabledBackgroundBrush}"/>
              <Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource DisabledBackgroundBrush}"/>
              <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
            </Trigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>
It uses some of these resources:
  <LinearGradientBrush x:Key="NormalBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#FFF" Offset="0.0"/>
        <GradientStop Color="#CCC" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetNormalBrush>-->

  <LinearGradientBrush x:Key="MouseOverBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <!--<GradientStop Color="#FFFFDFB2" Offset="0"/>
    <GradientStop Color="#FFFAB756" Offset="1"/>-->
        <GradientStop Color="#FFFFE2B9" Offset="0"/>
        <GradientStop Color="#FFFAC271" Offset="1"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>

<!--<SnippetHorizontalNormalBrush>-->
  <LinearGradientBrush x:Key="HorizontalNormalBrush" StartPoint="0,0" EndPoint="1,0">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#FFF" Offset="0.0"/>
        <GradientStop Color="#CCC" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetHorizontalNormalBrush>-->

<!--<SnippetLightBrush>-->
  <LinearGradientBrush x:Key="LightBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#FFF" Offset="0.0"/>
        <GradientStop Color="#EEE" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetLightBrush>-->

<!--<SnippetHorizontalLightBrush>-->
  <LinearGradientBrush x:Key="HorizontalLightBrush" StartPoint="0,0" EndPoint="1,0">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#FFF" Offset="0.0"/>
        <GradientStop Color="#EEE" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetHorizontalLightBrush>-->

<!--<SnippetDarkBrush>-->
  <LinearGradientBrush x:Key="DarkBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#FFF" Offset="0.0"/>
        <GradientStop Color="#AAA" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetDarkBrush>-->

<!--<SnippetPressedBrush>-->
  <LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#BBB" Offset="0.0"/>
        <GradientStop Color="#EEE" Offset="0.1"/>
        <GradientStop Color="#EEE" Offset="0.9"/>
        <GradientStop Color="#FFF" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetPressedBrush>-->

  <!-- Border Brushes -->

<!--<SnippetNormalBorderBrush>-->
  <LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#CCC" Offset="0.0"/>
        <GradientStop Color="#444" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetNormalBorderBrush>-->

<!--<SnippetHorizontalNormalBorderBrush>-->
  <LinearGradientBrush x:Key="HorizontalNormalBorderBrush" StartPoint="0,0" EndPoint="1,0">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#CCC" Offset="0.0"/>
        <GradientStop Color="#444" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetHorizontalNormalBorderBrush>-->

<!--<SnippetDefaultedBorderBrush>-->
  <LinearGradientBrush x:Key="DefaultedBorderBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#777" Offset="0.0"/>
        <GradientStop Color="#000" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetDefaultedBorderBrush>-->

<!--<SnippetPressedBorderBrush>-->
  <LinearGradientBrush x:Key="PressedBorderBrush" StartPoint="0,0" EndPoint="0,1">
    <GradientBrush.GradientStops>
      <GradientStopCollection>
        <GradientStop Color="#444" Offset="0.0"/>
        <GradientStop Color="#888" Offset="1.0"/>
      </GradientStopCollection>
    </GradientBrush.GradientStops>
  </LinearGradientBrush>
<!--</SnippetPressedBorderBrush>-->

  <SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE" />
  <SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#DDD" />
  <SolidColorBrush x:Key="WindowBackgroundBrush"   Color="#FFF" />

  <SolidColorBrush x:Key="DisabledBorderBrush"     Color="#AAA" />
  <SolidColorBrush x:Key="LightBorderBrush"        Color="#AAA" />
  <SolidColorBrush x:Key="MouseOverBorderBrush"    Color="#FFE6780C" />
  <SolidColorBrush x:Key="SolidBorderBrush"        Color="#888" />
  <SolidColorBrush x:Key="VeryLightBorderBrush"    Color="#BBB" />
  <SolidColorBrush x:Key="ExtraLightBorderBrush"   Color="#CCC" />

  <SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />
  <SolidColorBrush x:Key="ForegroundBrush"         Color="#000" />

  <SolidColorBrush x:Key="GlyphBrush"              Color="#444" />
  <SolidColorBrush x:Key="LightColorBrush"         Color="#DDD" />
  <SolidColorBrush x:Key="SolidLightBrush"         Color="#EEE" />
It's a work in progress... but it's a start.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform