<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:AIStudio.Wpf.DiagramDesigner" xmlns:c="clr-namespace:AIStudio.Wpf.DiagramDesigner.Controls"> <s:ColorBrushConverter x:Key="ColorBrushConverter" /> <s:ConectorOrientationConverter x:Key="ConectorOrientationConverter" /> <s:ConectorValueConverter x:Key="ConectorValueConverter"/> <DataTemplate DataType="{x:Type s:FullyCreatedConnectorInfo}"> <Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}"> <Grid.ContextMenu> <ContextMenu ItemsSource="{Binding MenuOptions}" > <ContextMenu.ItemContainerStyle> <Style TargetType="MenuItem"> <Setter Property="MenuItem.Header" Value="{Binding Text}" /> <Setter Property="MenuItem.ItemsSource" Value="{Binding Children}" /> <Setter Property="MenuItem.Command" Value="{Binding Command}" /> <Setter Property="MenuItem.Icon" Value="{Binding Icon}" /> <Setter Property="CommandParameter" Value="{Binding CommandParameter}" /> <Setter Property="MenuItem.IsCheckable" Value="{Binding IsCheckable}" /> <Setter Property="MenuItem.IsChecked" Value="{Binding IsChecked}" /> </Style> </ContextMenu.ItemContainerStyle> </ContextMenu> </Grid.ContextMenu> <!-- transparent extra space makes connector easier to hit --> <Rectangle Fill="Transparent" Margin="-2" /> <Rectangle Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}" StrokeThickness="1" Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" /> </Grid> </DataTemplate> <DataTemplate DataType="{x:Type s:LogicalConnectorInfo}"> <Grid> <Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}" HorizontalAlignment="Left" VerticalAlignment="Top"> <Grid.ContextMenu> <ContextMenu ItemsSource="{Binding MenuOptions}"> <ContextMenu.ItemContainerStyle> <Style TargetType="MenuItem"> <Setter Property="MenuItem.Header" Value="{Binding Text}" /> <Setter Property="MenuItem.ItemsSource" Value="{Binding Children}" /> <Setter Property="MenuItem.Command" Value="{Binding Command}" /> <Setter Property="MenuItem.Icon" Value="{Binding Icon}" /> <Setter Property="CommandParameter" Value="{Binding CommandParameter}" /> <Setter Property="MenuItem.IsCheckable" Value="{Binding IsCheckable}" /> <Setter Property="MenuItem.IsChecked" Value="{Binding IsChecked}" /> </Style> </ContextMenu.ItemContainerStyle> </ContextMenu> </Grid.ContextMenu> <!-- transparent extra space makes connector easier to hit --> <Rectangle Fill="Transparent" Margin="-2" /> <Rectangle Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}" StrokeThickness="1" Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" /> </Grid> <Control x:Name="label"> <Control.Template> <ControlTemplate> <TextBlock x:Name="txtleft" FontSize="10" RenderTransformOrigin="0.5,0.5"> <TextBlock.Text> <MultiBinding Converter="{StaticResource ConectorValueConverter}"> <Binding Path="ConnectorValue" /> <Binding Path="ValueTypePoint"/> </MultiBinding> </TextBlock.Text> <TextBlock.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform Y="10" X="{Binding ElementName=txtleft,Path=Text,Converter={StaticResource ConectorOrientationConverter}}"/> </TransformGroup> </TextBlock.RenderTransform> </TextBlock> </ControlTemplate> </Control.Template> </Control> </Grid> <DataTemplate.Triggers> <DataTrigger Value="Right" Binding="{Binding Orientation}"> <Setter TargetName="label" Property="Template"> <Setter.Value> <ControlTemplate> <TextBlock x:Name="txtRight" FontSize="10" RenderTransformOrigin="0.5,0.5" > <TextBlock.Text> <MultiBinding Converter="{StaticResource ConectorValueConverter}"> <Binding Path="ConnectorValue" /> <Binding Path="ValueTypePoint"/> </MultiBinding> </TextBlock.Text> <TextBlock.RenderTransform> <TransformGroup> <ScaleTransform/> <SkewTransform/> <RotateTransform/> <TranslateTransform Y="10" X="5"/> </TransformGroup> </TextBlock.RenderTransform> </TextBlock> </ControlTemplate> </Setter.Value> </Setter> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> <!-- DragThumb Default Template --> <Style TargetType="{x:Type c:DragThumb}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type c:DragThumb}"> <Rectangle Fill="Transparent" /> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary>