Hello,
I have two custom shapes. One contains the other. When I resize the principal in the diagram, I resize manually in the code the secundary. The problem is that I can not selected the principal shape if the size is little. If I don't resize de secundari, the resized works correctly.
The code of resize is:
"this" is the principal shape ( RadDiagramShape)
"wire" is the secundari shape ( RadDiagramShape)
private
void
PositionShape_SizeChanged(
object
sender, SizeChangedEventArgs e)
{
this
.Border = (OriginalStrokeThickness / Scale);
this
.OriginalWidth = e.NewSize.Width / Scale;
this
.OriginalHeight = e.NewSize.Height / Scale;
this
.OriginalPosition =
new
Point(
this
.Position.X / Scale,
this
.Position.Y / Scale);
if
(e.PreviousSize.Width != 0 && e.PreviousSize.Height != 0)
{
switch
(OrientaActual)
{
case
'N'
:
this
.Wire.WireHeight = (
this
.OriginalHeight * 2)*Scale;
this
.Wire.WireWidth =
this
.OriginalWidth*Scale;
this
.Wire.WirePosition =
new
Point(
this
.Position.X,
this
.Position.Y -
this
.Wire.Height);
break
;
case
'E'
:
this
.Wire.WireHeight = (
this
.OriginalHeight * 2)*Scale;
this
.Wire.WireWidth =
this
.OriginalWidth*Scale;
this
.Wire.WirePosition =
new
Point(
this
.Position.X +
this
.Height * 1.5,
this
.Position.Y -
this
.Height / 2);
break
;
case
'S'
:
this
.Wire.WireHeight = (
this
.OriginalHeight * 2)*Scale;
this
.Wire.WireWidth =
this
.OriginalWidth*Scale;
this
.Wire.WirePosition =
new
Point(
this
.Position.X, (
this
.Position.Y +
this
.Height));
break
;
case
'W'
:
this
.Wire.WireHeight = (
this
.OriginalHeight * 2)*Scale;
this
.Wire.WireWidth =
this
.OriginalWidth*Scale;
this
.Wire.WirePosition =
new
Point((
this
.Position.X -
this
.Width / 2) -
this
.Wire.Width,
this
.Position.Y-
this
.Height / 2);
break
;
}
}
}
I'm adding objects of different types to a virtualization source during the MapItemsRequest call. I'm now trying to format them differently based on their DataType. With a normal control, I can do this:
<
Window.Resources
>
<
DataTemplate
DataType
=
"{x:Type local:Dog}"
>
<
StackPanel
>
<
TextBlock
Text
=
"{Binding Path=Name}"
Background
=
"Green"
/>
</
StackPanel
>
</
DataTemplate
>
<
DataTemplate
DataType
=
"{x:Type local:Cat}"
>
<
StackPanel
>
<
TextBlock
Text
=
"{Binding Path=Name}"
Background
=
"Red"
/>
</
StackPanel
>
</
DataTemplate
>
</
Window.Resources
>
<
Grid
>
<
ListBox
Width
=
"400"
Margin
=
"10"
ItemsSource
=
"{Binding ListItems}"
/>
</
Grid
>
However when using a VisualizationLayer, nothing happens. It seems to be unable to select my templates. Do I have to create template selector in code? I was trying to do everything in XAML.
Hi,
I would like to restrict the start and end at the original value during drag and drop appointment.
I just need to change the slot by dragging.
How can i do that.
thanks in advance.
In my VB.Net WPF application I am creating a CartesianCustomLineAnnotation using code behind. This is working well.
I have not been able to figure out how to display some type of marker (round circle) at the Start and End point of the Custom Line Annotation. Can anyone provide a recommendation how to achieve this functionality?
Thanks in advance.
Hi
I need to display some alerts (4-5 at a time);
The alerts are displayed correctly, only that during the hiding phase it blocks the whole program.
here is the code (example):
private void DisplayToastForPinUp(int userId)
{
RadDesktopAlertManager manager = new RadDesktopAlertManager();
manager.CloseAllAlerts();
manager.AlertsReorderAnimationDuration = 1000;
var pinups = pinUpService.GetAllByUserIdAndDateToRemembre(userId,DateTime.Now);
foreach (PinUp pinUp in pinups)
{
var alert = new RadDesktopAlert();
alert.Header = "Post: " + pinUp.Title.Trim(); ;
alert.Content = pinUp.MemoText;
alert.ShowDuration = 3000;
manager.ShowAlert(alert);
}
}
how can I solve it?
thank you
Hello,
I wrote a simple WPF application which uses Telerik's (2016.1.217.45) RadPane.
The pane contains a User control.
This user control contains a LED image.
When the user control is displayed without pane, the image is OK.
But - When the user control is displayed inside a pane, the image is cut off at its left side.
Can you please help ?
How can I attach a zip with the project ?
Thank you,
Zvika
Hi,
I need to dynamically modify the date and time format displayed by a RadDateTimePicker, in the InputBox and the Clock view.
I am able to change the format of the date and time displayed in the Input box using this code:
var culture = new CultureInfo("en-US"); // or "fr-FR"
var dtfInfo = new DateTimeFormatInfo();
dtfInfo.ShortDatePattern = "M/d/yyyy"; // or "yyyy-MM-dd" for fr-FR
dtfInfo.LongDatePattern = "M/d/yyyy"; // idem
dtfInfo.DateSeparator = "/"; // "-" for fr-FR
dtfInfo.ShortTimePattern = "h:mm tt"; // HH:mm for fr-FR
dtfInfo.LongTimePattern = "h:mm tt"; // idem
dtfInfo.TimeSeparator = ":";
culture.DateTimeFormat = dtfInfo;
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
However, it seems this code has no effect on the format of the time items displayed by the Clock view , opened after the change of date and time patterns.
How to customize the formatting of the time items displayed in the Clock ?
I am testing with either "en-US" or "fr-FR" cultures.
Thx,
Alain
Hello Telerik,
I'm using a RadDiagram with a custom template for RadDiagramConnection. The function of this template is to rotate some text linked to the connector.
The following code is the style of my custom RadDiagramConnection :
<
Style
TargetType
=
"diagramscontrols:RadDiagramConnection"
x:Key
=
"RadDiagramConnectionStyle_RotateText"
>
<!--<
Setter
Property
=
"Background"
Value
=
"{StaticResource DiagramShape_Connection_Background}"
/>
<
Setter
Property
=
"Stroke"
Value
=
"{StaticResource DiagramShape_Connection_BorderBrush}"
/>-->
<
Setter
Property
=
"StrokeThickness"
Value
=
"1"
/>
<!--<Setter Property="ZIndex" Value="{StaticResource connectionZIndex}"/>-->
<
Setter
Property
=
"HorizontalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"VerticalContentAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"FocusVisualStyle"
Value
=
"{x:Null}"
/>
<
Setter
Property
=
"Template"
>
<
Setter.Value
>
<
ControlTemplate
TargetType
=
"diagramscontrols:RadDiagramConnection"
>
<
Grid
x:Name
=
"RootTemplate"
MinHeight
=
"0"
HorizontalAlignment
=
"Stretch"
>
<
VisualStateManager.VisualStateGroups
>
<
VisualStateGroup
x:Name
=
"SelectionStates"
>
<
VisualState
x:Name
=
"Selected"
/>
<
VisualState
x:Name
=
"SelectedInGroup"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
=
"SelectedInGroupPath"
Storyboard.TargetProperty
=
"Visibility"
Duration
=
"0"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"Unselected"
/>
<
VisualState
x:Name
=
"SelectedAsGroup"
/>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"EditMode"
>
<
VisualState
x:Name
=
"NormalMode"
/>
<
VisualState
x:Name
=
"NormalEditMode"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetName
=
"NormalContent"
Storyboard.TargetProperty
=
"Visibility"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetName
=
"EditContent"
Storyboard.TargetProperty
=
"Visibility"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"TextBoxEditMode"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetName
=
"NormalContent"
Storyboard.TargetProperty
=
"Visibility"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Duration
=
"0"
Storyboard.TargetName
=
"EditTextBox"
Storyboard.TargetProperty
=
"Visibility"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>
<
Path
x:Name
=
"DeferredPath"
Stroke
=
"{TemplateBinding Stroke}"
Opacity
=
"0.7"
Fill
=
"{TemplateBinding Background}"
StrokeThickness
=
"{TemplateBinding StrokeThickness}"
StrokeDashArray
=
"2 2"
/>
<
Path
x:Name
=
"SelectedInGroupPath"
Visibility
=
"Collapsed"
Stroke
=
"{StaticResource DiagramShape_Selected_BorderBrush}"
/>
<
Path
Stroke
=
"{TemplateBinding Stroke}"
Fill
=
"{TemplateBinding Background}"
StrokeThickness
=
"{TemplateBinding StrokeThickness}"
x:Name
=
"GeometryPath"
StrokeDashArray
=
"{TemplateBinding StrokeDashArray}"
/>
<
Grid
x:Name
=
"EdittingElement"
RenderTransformOrigin
=
"0.5 0.5"
HorizontalAlignment
=
"Stretch"
VerticalAlignment
=
"Stretch"
>
<!--TextBlock.TextAlignment="{Binding Tag.TextAlignement, RelativeSource={RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}}"-->
<
Grid.RenderTransform
>
<
RotateTransform
>
<
RotateTransform.Angle
>
<
MultiBinding
Converter
=
"{StaticResource BoundsToAngleConverter}"
>
<
Binding
Path
=
"StartPoint"
RelativeSource
=
"{RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}"
/>
<
Binding
Path
=
"EndPoint"
RelativeSource
=
"{RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}"
/>
</
MultiBinding
>
</
RotateTransform.Angle
>
</
RotateTransform
>
</
Grid.RenderTransform
>
<
Border
Background
=
"Transparent"
/>
<
TextBlock
x:Name
=
"NormalContent"
Foreground
=
"{TemplateBinding Foreground}"
FontFamily
=
"{TemplateBinding FontFamily}"
FontSize
=
"{TemplateBinding FontSize}"
Text
=
"{TemplateBinding Content}"
TextAlignment
=
"{Binding Tag.TextAlignement, RelativeSource={RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}}"
HorizontalAlignment
=
"{Binding Tag.HorizontalTextAlignement, RelativeSource={RelativeSource AncestorType=diagramscontrols:RadDiagramConnection}}"
VerticalAlignment
=
"Center"
/>
<!--<ContentPresenter x:Name="NormalContent" />-->
<
ContentPresenter
x:Name
=
"EditContent"
Visibility
=
"Collapsed"
Content
=
"{TemplateBinding Content}"
ContentTemplate
=
"{TemplateBinding EditTemplate}"
/>
<
TextBox
x:Name
=
"EditTextBox"
Visibility
=
"Collapsed"
Style
=
"{StaticResource EditTextBoxStyle_Connection}"
>
<
TextBox.InputBindings
>
<
KeyBinding
Key
=
"Enter"
Command
=
"ApplicationCommands.NotACommand"
/>
</
TextBox.InputBindings
>
</
TextBox
>
</
Grid
>
</
Grid
>
</
ControlTemplate
>
</
Setter.Value
>
</
Setter
>
</
Style
>
However, I want that the text will be above of the connector. Moreover, I have some bad behaviors depending on the position of the Connector. I attached a file (arrowTexts) to show you these bad behaviors. Tell me if you want more examples.
I want to know if you can help me to find a solution to have the good text position.
Thank you very much !