Healthcare Prototype

Prototype of next generation healthcare application using WPF. A large codebase provided here with many interesting data visualization techniques.

C# (15.7 MB)
 
 
 
 
 
4.3 Star
(3)
14,057 times
Add to favorites
3/1/2011
E-mail Twitter del.icio.us Digg Facebook

Solution explorer

C#
<ResourceDictionary 
  x:Class="Styles.ScrollBarStyle"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

  <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="Shared.xaml" />
  </ResourceDictionary.MergedDictionaries>

  <Style x:Key="ScrollBarLineButton" TargetType="{x:Type RepeatButton}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="true"/>
    <Setter Property="Focusable" Value="false"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type RepeatButton}">
          <Border 
            Name="Border"
            Margin="1" 
            CornerRadius="2" 
            Background="{StaticResource NormalBrush}"
            BorderBrush="{StaticResource NormalBorderBrush}"
            BorderThickness="1">
            <Path 
              HorizontalAlignment="Center"
              VerticalAlignment="Center"
              Fill="{StaticResource GlyphBrush}"
              Data="{Binding Path=Content,RelativeSource={RelativeSource TemplatedParent}}" />
          </Border>
          <ControlTemplate.Triggers>
            <Trigger Property="IsPressed" Value="true">
              <Setter TargetName="Border" Property="Background" Value="{StaticResource PressedBrush}" />
            </Trigger>
            <Trigger Property="IsEnabled" Value="false">
              <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
            </Trigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

  <Style x:Key="ScrollBarPageButton" TargetType="{x:Type RepeatButton}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <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}">
          <Border Background="Transparent" />
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

  <Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="true"/>
    <Setter Property="IsTabStop" Value="false"/>
    <Setter Property="Focusable" Value="false"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type Thumb}">
          <Grid>
            <Grid.RenderTransform>
              <TranslateTransform X="-2" />
            </Grid.RenderTransform>
            <Rectangle Fill="#66000000" RadiusX="10" RadiusY="10" >

              <Rectangle.RenderTransform>
                <TranslateTransform X="2" Y="2" />
              </Rectangle.RenderTransform>
            </Rectangle>
            <Rectangle Fill="sc#1.000000, 0.788279, 0.788279, 0.788270" RadiusX="10" RadiusY="10" Stroke="sc#1.000000, 0.358501, 0.358501, 0.358500" />
            <Rectangle  RadiusX="12" RadiusY="12" Margin="3" >
              <Shape.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                  <GradientBrush.GradientStops>
                    <GradientStopCollection>
                      <GradientStop Color="sc#1.000000, 1.000000, 1.000000, 1.000000" Offset="0" />
                      <GradientStop Color="sc#0.000000, 0.699212, 0.699212, 0.699210" Offset="0.5" />
                      <GradientStop Color="sc#1.000000, 1.000000, 1.000000, 1.000000" Offset="1" />
                    </GradientStopCollection>
                  </GradientBrush.GradientStops>
    
                </LinearGradientBrush>
              </Shape.Fill>
            </Rectangle>
            
            <Ellipse  Fill="sc#1.000000, 1.000000, 1.000000, 1.000000" Width="10" Height="10" >
              <Ellipse.Stroke>
                <LinearGradientBrush>
                  <LinearGradientBrush.GradientStops>
                    <GradientStop Offset="0" Color="black" />
                    <GradientStop Offset="1" Color="white" />
                  </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
              </Ellipse.Stroke>
            </Ellipse>
          </Grid>


        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

  <ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
    <Grid >
      <Grid.RowDefinitions>
        <RowDefinition MaxHeight="0"/>
        <RowDefinition Height="0.00001*"/>
        <RowDefinition MaxHeight="0"/>
      </Grid.RowDefinitions>
      <Border
        Grid.RowSpan="3"
        CornerRadius="2" 
        Background="Transparent" />
      <RepeatButton 
        Grid.Row="0"                           
        Style="{StaticResource ScrollBarLineButton}"
        Height="18" Visibility="Collapsed" 
        Command="ScrollBar.LineUpCommand"
        Content="M 0 4 L 8 4 L 4 0 Z" />
      <Track 
        Name="PART_Track"
        Grid.Row="1"
        IsDirectionReversed="true">


        <Track.DecreaseRepeatButton>
          <RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageUpCommand"/>
        </Track.DecreaseRepeatButton>

        <Track.IncreaseRepeatButton>
          <RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageDownCommand"/>
        </Track.IncreaseRepeatButton>
        <Track.Thumb>
          <Thumb x:Name="Thumb"
                 Style="{StaticResource ScrollBarThumb}"/>
        </Track.Thumb>
      </Track>
      <RepeatButton Visibility="Collapsed"
        Grid.Row="3" 
        Style="{StaticResource ScrollBarLineButton}"
        Height="18"
        Command="ScrollBar.LineDownCommand"
        Content="M 0 0 L 4 4 L 8 0 Z"/>
    </Grid>
  </ControlTemplate>

  <ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}">
    <Grid >
      <Grid.ColumnDefinitions>
        <ColumnDefinition MaxWidth="18"/>
        <ColumnDefinition Width="0.00001*"/>
        <ColumnDefinition MaxWidth="18"/>
      </Grid.ColumnDefinitions>
      <Border
        Grid.ColumnSpan="3"
        CornerRadius="2" 
        Background="#F0F0F0" />
      <RepeatButton 
        Grid.Column="0"                           
        Style="{StaticResource ScrollBarLineButton}"
        Width="18"
        Command="ScrollBar.LineLeftCommand"
        Content="M 4 0 L 4 8 L 0 4 Z" />
      <Track 
        Name="PART_Track"
        Grid.Column="1"
        IsDirectionReversed="False">
        <Track.DecreaseRepeatButton>
          <RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageLeftCommand"/>
        </Track.DecreaseRepeatButton>

        <Track.IncreaseRepeatButton>
          <RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageRightCommand"/>
        </Track.IncreaseRepeatButton>
        <Track.Thumb>
          <Thumb x:Name="Thumb"
                 Style="{StaticResource ScrollBarThumb}" Background="red"/>
        </Track.Thumb>
      </Track>
      <RepeatButton 
        Grid.Column="3" 
        Style="{StaticResource ScrollBarLineButton}"
        Width="18"
        Command="ScrollBar.LineRightCommand"
        Content="M 0 0 L 4 4 L 0 8 Z"/>
    </Grid>
  </ControlTemplate>

  <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="true"/>
    <Style.Triggers>
      <Trigger Property="Orientation" Value="Horizontal">
        <Setter Property="Width" Value="Auto"/>
        <Setter Property="Height" Value="18" />
        <Setter Property="Template" Value="{StaticResource HorizontalScrollBar}" />
      </Trigger>
      <Trigger Property="Orientation" Value="Vertical">
        <Setter Property="Width" Value="18"/>
        <Setter Property="Height" Value="Auto" />
        <Setter Property="Template" Value="{StaticResource VerticalScrollBar}" />
      </Trigger>
    </Style.Triggers>
  </Style>

</ResourceDictionary>