1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/akwkevin-aistudio.-wpf.-diagram

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
DesignerItem.xaml 13 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
艾竹 Отправлено 2 лет назад 5ee0c1c
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:s="clr-namespace:AIStudio.Wpf.DiagramDesigner"
xmlns:c="clr-namespace:AIStudio.Wpf.DiagramDesigner.Controls"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:gif="http://wpfanimatedgif.codeplex.com" >
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
<s:ColorBrushConverter x:Key="ColorBrushConverter" />
<s:ConectorOrientationConverter x:Key="ConectorOrientationConverter" />
<s:ConectorValueConverter x:Key="ConectorValueConverter"/>
<s:ArrowPathConverter x:Key="ArrowPathConverter"/>
<s:ArrowSizeConverter x:Key="ArrowSizeConverter"/>
<s:LineDashConverter x:Key="LineDashConverter"/>
<s:ClipConverter x:Key="ClipConverter"/>
<DataTemplate DataType="{x:Type s:DefaultDesignerItemViewModel}">
<Grid IsHitTestVisible="False">
<Rectangle StrokeThickness="1" Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}" Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" />
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type s:TextDesignerItemViewModel}">
<Grid >
<Border Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}" IsHitTestVisible="False"/>
<Grid Margin="5">
<s:TextControl s:ControlAttachProperty.Watermark="{Binding Watermark}" />
</Grid>
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type s:ShapeDesignerItemViewModel}">
<Grid IsHitTestVisible="False" Background="White">
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="显示点" IsCheckable="True" IsChecked="{Binding ShowConnectors}" />
</ContextMenu>
</Grid.ContextMenu>
<Control x:Name="control" />
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding DrawMode}" Value="Line">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Line X1="{Binding ConnectionPoints[0].X}" Y1="{Binding ConnectionPoints[0].Y}"
X2="{Binding ConnectionPoints[1].X}" Y2="{Binding ConnectionPoints[1].Y}"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Stretch="Fill"></Line>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DrawMode}" Value="Rectangle">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Rectangle
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
Stretch="Fill"></Rectangle>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DrawMode}" Value="Ellipse">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Ellipse
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
Stretch="Fill"></Ellipse>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DrawMode}" Value="Polyline">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Polyline
Points="{Binding ConnectionPoints, Converter={x:Static s:ConnectionPointConverter.Instance}}"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
FillRule="Nonzero"
Stretch="Fill"></Polyline>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DrawMode}" Value="Polygon">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Polygon
Points="{Binding ConnectionPoints, Converter={x:Static s:ConnectionPointConverter.Instance}}"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
FillRule="Nonzero"
Stretch="Fill"></Polygon>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DrawMode}" Value="DirectLine">
<Setter TargetName="control" Property="Template">
<Setter.Value>
<ControlTemplate>
<Polyline
Points="{Binding ConnectionPoints, Converter={x:Static s:ConnectionPointConverter.Instance}}"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
FillRule="Nonzero"
Stretch="Fill"></Polyline>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
<DataTemplate DataType="{x:Type s:GroupDesignerItemViewModel}">
<Grid IsHitTestVisible="False">
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type s:GifImageItemViewModel}">
<Grid IsHitTestVisible="False">
<Image Name="PART_Image_run" gif:ImageBehavior.AnimatedSource="{Binding Icon}" gif:ImageBehavior.AutoStart="True" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="Visible"/>
<Control x:Name="control" />
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsRunning}" Value="false">
<Setter TargetName="PART_Image_run" Property="gif:ImageBehavior.AutoStart" Value="False" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
<DataTemplate DataType="{x:Type s:VideoItemViewModel}">
<Grid IsHitTestVisible="False">
<MediaElement x:Name="MediaPlayer" LoadedBehavior="Play" Source="{Binding Icon}" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="Visible"/>
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type s:ImageItemViewModel}">
<Grid ToolTip="{Binding Icon}">
<Grid IsHitTestVisible="False" ClipToBounds="True">
<Image x:Name="image" Source="{Binding Icon}" Stretch="Fill"
Margin="{Binding Object,Converter={StaticResource ClipConverter},ConverterParameter='Margin'}"
Clip="{Binding Object,Converter={StaticResource ClipConverter},ConverterParameter='Clip'}">
</Image>
<Image x:Name="gif" gif:ImageBehavior.AnimatedSource="{Binding Icon}" gif:ImageBehavior.AutoStart="True" Visibility="Collapsed" Stretch="Fill"/>
</Grid>
<!-- PART_ResizeDecorator -->
<Border x:Name="PART_ResizeDecorator" SnapsToDevicePixels="true" Margin="{Binding ResizeMargin,Mode=TwoWay}" Visibility="Collapsed">
<Grid x:Name="Grid" Margin="-2">
<c:BorderResizeThumb Height="5" Cursor="SizeAll" Margin="-3" ResizeMode="DragMargin" BorderBrush="Blue" BorderThickness="5" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Top" HorizontalAlignment="Stretch"/>
<c:BorderResizeThumb Width="5" Cursor="SizeAll" Margin="-3" ResizeMode="DragMargin" BorderBrush="Blue" BorderThickness="5" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Stretch" HorizontalAlignment="Left"/>
<c:BorderResizeThumb Width="5" Cursor="SizeAll" Margin="-3" ResizeMode="DragMargin" BorderBrush="Blue" BorderThickness="5" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Stretch" HorizontalAlignment="Right"/>
<c:BorderResizeThumb Height="5" Cursor="SizeAll" Margin="-3" ResizeMode="DragMargin" BorderBrush="Blue" BorderThickness="5" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Bottom" HorizontalAlignment="Stretch"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNS" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Top" HorizontalAlignment="Center"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeWE" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Center" HorizontalAlignment="Left"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeWE" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Center" HorizontalAlignment="Right"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNS" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNWSE" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Top" HorizontalAlignment="Left"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNESW" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Top" HorizontalAlignment="Right"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNESW" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Bottom" HorizontalAlignment="Left"/>
<c:BorderResizeThumb Width="5" Height="5" Cursor="SizeNWSE" ResizeMode="Margin" Margin="-3" ResizeElement="{Binding ElementName=PART_ResizeDecorator}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
</Grid>
</Border>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Suffix}" Value=".gif">
<Setter TargetName="gif" Property="Visibility" Value="Visible"/>
<Setter TargetName="image" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding ResizeMode}" Value="True">
<Setter TargetName="PART_ResizeDecorator" Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding Suffix}" Value=".txt">
<Setter TargetName="image" Property="Source" Value="pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/file.png"/>
<Setter TargetName="image" Property="Margin" Value="0"/>
<Setter TargetName="image" Property="Clip" Value="{x:Null}"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ResourceDictionary>

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
git@gitlife.ru:oschina-mirror/akwkevin-aistudio.-wpf.-diagram.git
oschina-mirror
akwkevin-aistudio.-wpf.-diagram
akwkevin-aistudio.-wpf.-diagram
1.0.7Demo