Browse Source

More cleanup.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4773 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
bb8f2e52dd
  1. 820
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
  2. 214
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ZoomControl.cs
  3. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/DesignPanel.cs
  4. 12
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/DesignSurface.xaml
  5. 6
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGridView.xaml

820
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml

@ -1,416 +1,412 @@ @@ -1,416 +1,412 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:ICSharpCode.WpfDesign.Designer.Controls">
<!--
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:ICSharpCode.WpfDesign.Designer.Controls">
<!--
This file contains the default styles used by the Controls in ICSharpCode.WpfDesign.Designer.Controls
-->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="NumericUpDown.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style x:Key="ZoomButtonStyle"
TargetType="RepeatButton">
<Setter Property="Delay"
Value="0" />
<Setter Property="Focusable"
Value="False" />
<Setter Property="Opacity"
Value="0.5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RepeatButton">
<ContentPresenter Margin="5"/>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter Property="Opacity"
Value="1" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ZoomControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ZoomControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<ScrollViewer x:Name="scrollViewer"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible">
<Border x:Name="container"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<ContentPresenter />
</Border>
</ScrollViewer>
<StackPanel Orientation="Vertical"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Margin="3 0 0 20"
Background="#3000">
<RepeatButton x:Name="uxPlus"
Style="{StaticResource ZoomButtonStyle}">
<Image Source="../Images/ZoomIn.png"
Stretch="None"/>
</RepeatButton>
<RepeatButton x:Name="uxMinus"
Style="{StaticResource ZoomButtonStyle}">
<Image Source="../Images/ZoomOut.png"
Stretch="None" />
</RepeatButton>
<RepeatButton x:Name="uxReset"
Style="{StaticResource ZoomButtonStyle}">
<Border Background="#5000"
Width="16"
Height="16">
<TextBlock Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center">1</TextBlock>
</Border>
</RepeatButton>
</StackPanel>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:PanelMoveAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:PanelMoveAdorner}">
<Border BorderThickness="4"
Margin="-2"
BorderBrush="Transparent"
Cursor="SizeAll" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:EnumButton}"
BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Margin"
Value="3 3 0 3" />
<Setter Property="MinWidth"
Value="50" />
</Style>
<Style TargetType="{x:Type Controls:ResizeThumb}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ResizeThumb}">
<Rectangle Name="thumbRectangle"
Width="7"
Height="7"
SnapsToDevicePixels="True"
Stroke="Black"
Fill="White"
RadiusX="1.414"
RadiusY="1.414" />
<ControlTemplate.Triggers>
<Trigger Property="IsPrimarySelection"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Stroke"
Value="White" />
<Setter TargetName="thumbRectangle"
Property="Fill"
Value="Black" />
</Trigger>
<Trigger Property="IsEnabled"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Fill"
Value="Gray" />
</Trigger>
<Trigger Property="ResizeThumbVisible"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Visibility"
Value="Hidden" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:SelectionFrame}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:SelectionFrame}">
<Rectangle Fill="#519ABFE5"
Stroke="#FF7A8787"
StrokeThickness="1" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ContainerDragHandle}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ContainerDragHandle}">
<Canvas Height="13"
Width="13"
Name="Canvas"
SnapsToDevicePixels="True">
<Rectangle Height="13"
Width="13"
RadiusX="2"
RadiusY="2"
Fill="#889ABFE5"
Name="BorderRectangle"
Stroke="#FF7A8FB5"
StrokeThickness="1" />
<Path Fill="#FF748EAA"
Canvas.Left="1"
Canvas.Top="1">
<Path.Data>
<GeometryGroup>
<PathGeometry Figures="M5.5,0L3,3L8,3 M11,5.5L8,3L8,8 M5.5,11L3,8L8,8 M0,5.5L3,3L3,8" />
<RectangleGeometry Rect="3,5,5,1" />
<RectangleGeometry Rect="5,3,1,5" />
<RectangleGeometry Rect="5,5,1,1" />
</GeometryGroup>
</Path.Data>
</Path>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:WindowClone}">
<Setter Property="Width"
Value="640" />
<Setter Property="Height"
Value="480" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:WindowClone}">
<Border Background="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrushKey}}"
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
BorderThickness="1,1,1,1"
CornerRadius="5,5,5,5">
<DockPanel Margin="4,0,4,4">
<DockPanel Height="26"
DockPanel.Dock="Top">
<Image Width="16"
Height="16"
Margin="1,0,0,0"
Source="{TemplateBinding Window.Icon}" />
<Button Name="CloseButton"
VerticalAlignment="Top"
Width="43"
Height="17"
DockPanel.Dock="Right">
<Path Fill="#FFF6F2F2"
Stretch="Uniform"
Margin="1"
Stroke="#FF808080"
Data="M160,400 L176,400 192,384 208,400 224,400 200,376 224,352 208,352 192,368 176,352 160,352 184,376 z" />
</Button>
<Button Name="MaximiseButton"
VerticalAlignment="Top"
Width="25"
Height="17"
DockPanel.Dock="Right" />
<Button Name="MinimizeButton"
VerticalAlignment="Top"
Width="25"
Height="17"
DockPanel.Dock="Right">
<!--<Rectangle Fill="#FFF6F2F2" RadiusX="0.5" RadiusY="0.5" Width="12" Height="5" Stroke="#FF808080" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>-->
</Button>
<Label Margin="4,0,0,0"
Content="{TemplateBinding Window.Title}" />
</DockPanel>
<Border Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
<Border BorderBrush="{TemplateBinding Border.BorderBrush}"
BorderThickness="{TemplateBinding Border.BorderThickness}"
Background="{TemplateBinding Panel.Background}">
<AdornerDecorator>
<ContentPresenter ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
Content="{TemplateBinding ContentControl.Content}" />
</AdornerDecorator>
</Border>
</Border>
</DockPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ErrorBalloon}">
<Setter Property="WindowStyle"
Value="None" />
<Setter Property="AllowsTransparency"
Value="True" />
<Setter Property="SizeToContent"
Value="WidthAndHeight" />
<Setter Property="ShowInTaskbar"
Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ErrorBalloon}">
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Rectangle RadiusX="10"
RadiusY="10"
Margin="12,36,4,4">
<Rectangle.Fill>
<SolidColorBrush Color="#41626262" />
</Rectangle.Fill>
</Rectangle>
<Border Margin="8,32,8,8"
Background="{DynamicResource {x:Static SystemColors.InfoBrushKey}}"
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
BorderThickness="1,1,1,1"
CornerRadius="10,10,10,10"
Padding="10,10,10,10">
<Border BorderBrush="{TemplateBinding Border.BorderBrush}"
BorderThickness="{TemplateBinding Border.BorderThickness}"
Background="{TemplateBinding Panel.Background}">
<AdornerDecorator>
<ContentPresenter ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
Content="{TemplateBinding ContentControl.Content}" />
</AdornerDecorator>
</Border>
</Border>
<Path Fill="{DynamicResource {x:Static SystemColors.InfoBrushKey}}"
Stretch="Fill"
HorizontalAlignment="Left"
Margin="34.75,9.25,0,0"
VerticalAlignment="Top"
Width="15.25"
Height="24.5"
Data="M34.75,33.75 L40.5,9.25 50,33.5 z" />
<Path Stretch="Fill"
Stroke="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
HorizontalAlignment="Left"
Margin="34.5,9.25,0,0"
VerticalAlignment="Top"
Width="16"
Height="24"
Data="M35,32.75 L40.5,9.25 50,32.75" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridRailAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridRailAdorner}">
<Rectangle Fill="#302020ff" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridRowSplitterAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridRowSplitterAdorner}">
<Grid Height="{x:Static Controls:GridRailAdorner.SplitterWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
<!-- 10=RailSize -->
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- put a transparent rectangle in the rail so the user does not have to hit the small railHandle -->
<Rectangle Fill="Transparent" />
<Path Name="railHandle"
Fill="#FFE6E6FF"
Stretch="Fill"
Stroke="#FF584FFF"
Data="M0,0 L0,1 1,0.5 z" />
<Path Name="line"
Stretch="Fill"
Stroke="#FF584FFF"
Grid.Column="2"
Margin="-1 0 0 0"
Data="M0,0.5 L1,0.5" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="railHandle"
Property="Fill"
Value="#FFFFB74F" />
</Trigger>
<Trigger Property="IsPreview"
Value="True">
<Setter TargetName="railHandle"
Property="Stroke"
Value="#D0FFB74F" />
<Setter TargetName="line"
Property="Stroke"
Value="#D0FFB74F" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridColumnSplitterAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridColumnSplitterAdorner}">
<Grid Width="{x:Static Controls:GridRailAdorner.SplitterWidth}">
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<!-- 10=RailSize -->
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- put a transparent rectangle in the rail so the user does not have to hit the small railHandle -->
<Rectangle Fill="Transparent" />
<Path Name="railHandle"
Fill="#FFE6E6FF"
Stretch="Fill"
Stroke="#FF584FFF"
Data="M0,0 L1,0 0.5,1 z" />
<Path Name="line"
Stretch="Fill"
Stroke="#FF584FFF"
Grid.Row="2"
Margin="0 -1 0 0"
Data="M0.5,0 L0.5,1" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="railHandle"
Property="Fill"
Value="#FFFFB74F" />
</Trigger>
<Trigger Property="IsPreview"
Value="True">
<Setter TargetName="railHandle"
Property="Stroke"
Value="#D0FFB74F" />
<Setter TargetName="line"
Property="Stroke"
Value="#D0FFB74F" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="NumericUpDown.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style x:Key="ZoomButtonStyle"
TargetType="RepeatButton">
<Setter Property="Delay"
Value="0" />
<Setter Property="Focusable"
Value="False" />
<Setter Property="Opacity"
Value="0.5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RepeatButton">
<ContentPresenter Margin="5"/>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter Property="Opacity"
Value="1" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ZoomControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ZoomControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<ScrollViewer x:Name="scrollViewer"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible">
<ContentPresenter x:Name="container" />
</ScrollViewer>
<StackPanel Orientation="Vertical"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Margin="3 0 0 20"
Background="#3000">
<RepeatButton x:Name="uxPlus"
Style="{StaticResource ZoomButtonStyle}">
<Image Source="../Images/ZoomIn.png"
Stretch="None"/>
</RepeatButton>
<RepeatButton x:Name="uxMinus"
Style="{StaticResource ZoomButtonStyle}">
<Image Source="../Images/ZoomOut.png"
Stretch="None" />
</RepeatButton>
<RepeatButton x:Name="uxReset"
Style="{StaticResource ZoomButtonStyle}">
<Border Background="#5000"
Width="16"
Height="16">
<TextBlock Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center">1</TextBlock>
</Border>
</RepeatButton>
</StackPanel>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:PanelMoveAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:PanelMoveAdorner}">
<Border BorderThickness="4"
Margin="-2"
BorderBrush="Transparent"
Cursor="SizeAll" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:EnumButton}"
BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Margin"
Value="3 3 0 3" />
<Setter Property="MinWidth"
Value="50" />
</Style>
<Style TargetType="{x:Type Controls:ResizeThumb}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ResizeThumb}">
<Rectangle Name="thumbRectangle"
Width="7"
Height="7"
SnapsToDevicePixels="True"
Stroke="Black"
Fill="White"
RadiusX="1.414"
RadiusY="1.414" />
<ControlTemplate.Triggers>
<Trigger Property="IsPrimarySelection"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Stroke"
Value="White" />
<Setter TargetName="thumbRectangle"
Property="Fill"
Value="Black" />
</Trigger>
<Trigger Property="IsEnabled"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Fill"
Value="Gray" />
</Trigger>
<Trigger Property="ResizeThumbVisible"
Value="False">
<Setter TargetName="thumbRectangle"
Property="Visibility"
Value="Hidden" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:SelectionFrame}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:SelectionFrame}">
<Rectangle Fill="#519ABFE5"
Stroke="#FF7A8787"
StrokeThickness="1" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ContainerDragHandle}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ContainerDragHandle}">
<Canvas Height="13"
Width="13"
Name="Canvas"
SnapsToDevicePixels="True">
<Rectangle Height="13"
Width="13"
RadiusX="2"
RadiusY="2"
Fill="#889ABFE5"
Name="BorderRectangle"
Stroke="#FF7A8FB5"
StrokeThickness="1" />
<Path Fill="#FF748EAA"
Canvas.Left="1"
Canvas.Top="1">
<Path.Data>
<GeometryGroup>
<PathGeometry Figures="M5.5,0L3,3L8,3 M11,5.5L8,3L8,8 M5.5,11L3,8L8,8 M0,5.5L3,3L3,8" />
<RectangleGeometry Rect="3,5,5,1" />
<RectangleGeometry Rect="5,3,1,5" />
<RectangleGeometry Rect="5,5,1,1" />
</GeometryGroup>
</Path.Data>
</Path>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:WindowClone}">
<Setter Property="Width"
Value="640" />
<Setter Property="Height"
Value="480" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:WindowClone}">
<Border Background="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrushKey}}"
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
BorderThickness="1,1,1,1"
CornerRadius="5,5,5,5">
<DockPanel Margin="4,0,4,4">
<DockPanel Height="26"
DockPanel.Dock="Top">
<Image Width="16"
Height="16"
Margin="1,0,0,0"
Source="{TemplateBinding Window.Icon}" />
<Button Name="CloseButton"
VerticalAlignment="Top"
Width="43"
Height="17"
DockPanel.Dock="Right">
<Path Fill="#FFF6F2F2"
Stretch="Uniform"
Margin="1"
Stroke="#FF808080"
Data="M160,400 L176,400 192,384 208,400 224,400 200,376 224,352 208,352 192,368 176,352 160,352 184,376 z" />
</Button>
<Button Name="MaximiseButton"
VerticalAlignment="Top"
Width="25"
Height="17"
DockPanel.Dock="Right" />
<Button Name="MinimizeButton"
VerticalAlignment="Top"
Width="25"
Height="17"
DockPanel.Dock="Right">
<!--<Rectangle Fill="#FFF6F2F2" RadiusX="0.5" RadiusY="0.5" Width="12" Height="5" Stroke="#FF808080" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>-->
</Button>
<Label Margin="4,0,0,0"
Content="{TemplateBinding Window.Title}" />
</DockPanel>
<Border Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
<Border BorderBrush="{TemplateBinding Border.BorderBrush}"
BorderThickness="{TemplateBinding Border.BorderThickness}"
Background="{TemplateBinding Panel.Background}">
<AdornerDecorator>
<ContentPresenter ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
Content="{TemplateBinding ContentControl.Content}" />
</AdornerDecorator>
</Border>
</Border>
</DockPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:ErrorBalloon}">
<Setter Property="WindowStyle"
Value="None" />
<Setter Property="AllowsTransparency"
Value="True" />
<Setter Property="SizeToContent"
Value="WidthAndHeight" />
<Setter Property="ShowInTaskbar"
Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ErrorBalloon}">
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Rectangle RadiusX="10"
RadiusY="10"
Margin="12,36,4,4">
<Rectangle.Fill>
<SolidColorBrush Color="#41626262" />
</Rectangle.Fill>
</Rectangle>
<Border Margin="8,32,8,8"
Background="{DynamicResource {x:Static SystemColors.InfoBrushKey}}"
BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
BorderThickness="1,1,1,1"
CornerRadius="10,10,10,10"
Padding="10,10,10,10">
<Border BorderBrush="{TemplateBinding Border.BorderBrush}"
BorderThickness="{TemplateBinding Border.BorderThickness}"
Background="{TemplateBinding Panel.Background}">
<AdornerDecorator>
<ContentPresenter ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
Content="{TemplateBinding ContentControl.Content}" />
</AdornerDecorator>
</Border>
</Border>
<Path Fill="{DynamicResource {x:Static SystemColors.InfoBrushKey}}"
Stretch="Fill"
HorizontalAlignment="Left"
Margin="34.75,9.25,0,0"
VerticalAlignment="Top"
Width="15.25"
Height="24.5"
Data="M34.75,33.75 L40.5,9.25 50,33.5 z" />
<Path Stretch="Fill"
Stroke="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
HorizontalAlignment="Left"
Margin="34.5,9.25,0,0"
VerticalAlignment="Top"
Width="16"
Height="24"
Data="M35,32.75 L40.5,9.25 50,32.75" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridRailAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridRailAdorner}">
<Rectangle Fill="#302020ff" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridRowSplitterAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridRowSplitterAdorner}">
<Grid Height="{x:Static Controls:GridRailAdorner.SplitterWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
<!-- 10=RailSize -->
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- put a transparent rectangle in the rail so the user does not have to hit the small railHandle -->
<Rectangle Fill="Transparent" />
<Path Name="railHandle"
Fill="#FFE6E6FF"
Stretch="Fill"
Stroke="#FF584FFF"
Data="M0,0 L0,1 1,0.5 z" />
<Path Name="line"
Stretch="Fill"
Stroke="#FF584FFF"
Grid.Column="2"
Margin="-1 0 0 0"
Data="M0,0.5 L1,0.5" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="railHandle"
Property="Fill"
Value="#FFFFB74F" />
</Trigger>
<Trigger Property="IsPreview"
Value="True">
<Setter TargetName="railHandle"
Property="Stroke"
Value="#D0FFB74F" />
<Setter TargetName="line"
Property="Stroke"
Value="#D0FFB74F" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:GridColumnSplitterAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:GridColumnSplitterAdorner}">
<Grid Width="{x:Static Controls:GridRailAdorner.SplitterWidth}">
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<!-- 10=RailSize -->
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- put a transparent rectangle in the rail so the user does not have to hit the small railHandle -->
<Rectangle Fill="Transparent" />
<Path Name="railHandle"
Fill="#FFE6E6FF"
Stretch="Fill"
Stroke="#FF584FFF"
Data="M0,0 L1,0 0.5,1 z" />
<Path Name="line"
Stretch="Fill"
Stroke="#FF584FFF"
Grid.Row="2"
Margin="0 -1 0 0"
Data="M0.5,0 L0.5,1" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="railHandle"
Property="Fill"
Value="#FFFFB74F" />
</Trigger>
<Trigger Property="IsPreview"
Value="True">
<Setter TargetName="railHandle"
Property="Stroke"
Value="#D0FFB74F" />
<Setter TargetName="line"
Property="Stroke"
Value="#D0FFB74F" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>

214
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ZoomControl.cs

@ -22,8 +22,8 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -22,8 +22,8 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
{
static ZoomControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(ZoomControl),
new FrameworkPropertyMetadata(typeof(ZoomControl)));
DefaultStyleKeyProperty.OverrideMetadata(typeof(ZoomControl),
new FrameworkPropertyMetadata(typeof(ZoomControl)));
PanToolCursor = new Cursor(GetStream("Images/PanToolCursor.cur"));
PanToolCursorMouseDown = new Cursor(GetStream("Images/PanToolCursorMouseDown.cur"));
@ -43,25 +43,25 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -43,25 +43,25 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
public static double Minimum = 0.1;
public static double Maximum = 10;
double startHorizontalOffset;
double startVericalOffset;
double startHorizontalOffset;
double startVericalOffset;
internal ScrollViewer ScrollViewer;
Border container;
FrameworkElement container;
ScaleTransform transform;
Point startPoint;
bool isMouseDown;
bool pan;
Point startPoint;
bool isMouseDown;
bool pan;
public static readonly DependencyProperty ZoomProperty =
DependencyProperty.Register("Zoom", typeof(double), typeof(ZoomControl),
new PropertyMetadata(1.0, null, CoerceZoom));
public static readonly DependencyProperty ZoomProperty =
DependencyProperty.Register("Zoom", typeof(double), typeof(ZoomControl),
new PropertyMetadata(1.0, null, CoerceZoom));
public double Zoom
{
get { return (double)GetValue(ZoomProperty); }
set { SetValue(ZoomProperty, value); }
}
public double Zoom
{
get { return (double)GetValue(ZoomProperty); }
set { SetValue(ZoomProperty, value); }
}
static object CoerceZoom(DependencyObject d, object baseValue)
{
@ -74,7 +74,7 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -74,7 +74,7 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
base.OnApplyTemplate();
ScrollViewer = (ScrollViewer)Template.FindName("scrollViewer", this);
container = (Border)Template.FindName("container", this);
container = (FrameworkElement)Template.FindName("container", this);
transform = new ScaleTransform();
container.LayoutTransform = transform;
@ -87,114 +87,114 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -87,114 +87,114 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
uxReset.Click += delegate { Reset(); };
}
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property == ZoomProperty)
{
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property == ZoomProperty)
{
transform.ScaleX = Zoom;
transform.ScaleY = Zoom;
CenterViewport((double)e.OldValue);
}
}
protected override void OnKeyDown(KeyEventArgs e)
{
if (!pan && e.Key == Key.Space)
{
Cursor = PanToolCursor;
pan = true;
}
}
protected override void OnKeyUp(KeyEventArgs e)
{
if (e.Key == Key.Space)
{
ClearValue(CursorProperty);
pan = false;
}
}
protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
{
if (pan)
{
CenterViewport((double)e.OldValue);
}
}
protected override void OnKeyDown(KeyEventArgs e)
{
if (!pan && e.Key == Key.Space)
{
Cursor = PanToolCursor;
pan = true;
}
}
protected override void OnKeyUp(KeyEventArgs e)
{
if (e.Key == Key.Space)
{
ClearValue(CursorProperty);
pan = false;
}
}
protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
{
if (pan)
{
Cursor = PanToolCursorMouseDown;
Mouse.Capture(this); // will call move
isMouseDown = true;
startPoint = e.GetPosition(this);
PanStart();
}
}
protected override void OnPreviewMouseMove(MouseEventArgs e)
{
if (isMouseDown && pan)
{
var endPoint = e.GetPosition(this);
PanContinue(endPoint - startPoint);
}
}
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
if (isMouseDown)
{
Mouse.Capture(this); // will call move
isMouseDown = true;
startPoint = e.GetPosition(this);
PanStart();
}
}
protected override void OnPreviewMouseMove(MouseEventArgs e)
{
if (isMouseDown && pan)
{
var endPoint = e.GetPosition(this);
PanContinue(endPoint - startPoint);
}
}
protected override void OnPreviewMouseUp(MouseButtonEventArgs e)
{
if (isMouseDown)
{
Cursor = PanToolCursor;
isMouseDown = false;
Mouse.Capture(null);
}
}
isMouseDown = false;
Mouse.Capture(null);
}
}
protected override void OnMouseEnter(MouseEventArgs e)
{
Focus();
}
public void Fit()
{
Zoom = Math.Min(
ScrollViewer.ActualWidth / container.ActualWidth,
ScrollViewer.ActualHeight / container.ActualHeight);
}
public void Fit()
{
Zoom = Math.Min(
ScrollViewer.ActualWidth / container.ActualWidth,
ScrollViewer.ActualHeight / container.ActualHeight);
}
public void ZoomIn()
{
{
Zoom *= ZoomFactor;
}
public void ZoomOut()
{
{
Zoom /= ZoomFactor;
}
public void Reset()
{
Zoom = 1;
ScrollViewer.ScrollToHorizontalOffset(0);
ScrollViewer.ScrollToVerticalOffset(0);
}
void PanStart()
{
startHorizontalOffset = ScrollViewer.HorizontalOffset;
startVericalOffset = ScrollViewer.VerticalOffset;
}
void PanContinue(Vector delta)
{
ScrollViewer.ScrollToHorizontalOffset(startHorizontalOffset - delta.X);
ScrollViewer.ScrollToVerticalOffset(startVericalOffset - delta.Y);
}
void CenterViewport(double oldZoom)
{
var k = Zoom / oldZoom;
var add = (k * ScrollViewer.ViewportWidth - ScrollViewer.ViewportWidth) / 2;
ScrollViewer.ScrollToHorizontalOffset(k * ScrollViewer.HorizontalOffset + add);
add = (k * ScrollViewer.ViewportHeight - ScrollViewer.ViewportHeight) / 2;
ScrollViewer.ScrollToVerticalOffset(k * ScrollViewer.VerticalOffset + add);
}
public void Reset()
{
Zoom = 1;
ScrollViewer.ScrollToHorizontalOffset(0);
ScrollViewer.ScrollToVerticalOffset(0);
}
void PanStart()
{
startHorizontalOffset = ScrollViewer.HorizontalOffset;
startVericalOffset = ScrollViewer.VerticalOffset;
}
void PanContinue(Vector delta)
{
ScrollViewer.ScrollToHorizontalOffset(startHorizontalOffset - delta.X);
ScrollViewer.ScrollToVerticalOffset(startVericalOffset - delta.Y);
}
void CenterViewport(double oldZoom)
{
var k = Zoom / oldZoom;
var add = (k * ScrollViewer.ViewportWidth - ScrollViewer.ViewportWidth) / 2;
ScrollViewer.ScrollToHorizontalOffset(k * ScrollViewer.HorizontalOffset + add);
add = (k * ScrollViewer.ViewportHeight - ScrollViewer.ViewportHeight) / 2;
ScrollViewer.ScrollToVerticalOffset(k * ScrollViewer.VerticalOffset + add);
}
}
}

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/DesignPanel.cs

@ -141,8 +141,6 @@ namespace ICSharpCode.WpfDesign.Designer @@ -141,8 +141,6 @@ namespace ICSharpCode.WpfDesign.Designer
public DesignPanel()
{
this.Focusable = true;
this.VerticalAlignment = VerticalAlignment.Top;
this.HorizontalAlignment = HorizontalAlignment.Left;
this.AllowDrop = true;
DesignerProperties.SetIsInDesignMode(this, true);

12
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/DesignSurface.xaml

@ -5,11 +5,9 @@ @@ -5,11 +5,9 @@
xmlns:Controls="clr-namespace:ICSharpCode.WpfDesign.Designer.Controls"
DataContext="{x:Null}"
Background="#888">
<Controls:ZoomControl x:Name="uxZoom">
<Default:DesignPanel x:Name="_designPanel">
<Border x:Name="_sceneContainer" />
</Default:DesignPanel>
</Controls:ZoomControl>
<Controls:ZoomControl x:Name="uxZoom">
<Default:DesignPanel x:Name="_designPanel">
<Border x:Name="_sceneContainer" />
</Default:DesignPanel>
</Controls:ZoomControl>
</UserControl>

6
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGridView.xaml

@ -209,7 +209,7 @@ @@ -209,7 +209,7 @@
</DockPanel>
<Border BorderThickness="1 0 0 0"
BorderBrush="{x:Static SystemColors.ControlBrush}">
<ContentPresenter x:Name="editorConatiner"
<ContentPresenter x:Name="editorContainer"
Content="{Binding Editor}"
VerticalAlignment="Center"
Margin="3 0" />
@ -229,10 +229,10 @@ @@ -229,10 +229,10 @@
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsEnabled}"
Value="False">
<Setter TargetName="editorConatiner"
<Setter TargetName="editorContainer"
Property="Opacity"
Value="0.5" />
<Setter TargetName="editorConatiner"
<Setter TargetName="editorContainer"
Property="IsHitTestVisible"
Value="False" />
</DataTrigger>

Loading…
Cancel
Save