or
internal class CustomMenuBuilder : ContextMenuContentBuilder, IDisposable
{
private RadMenuItem InsertHyperLink;
private MyCustomRichTextBox richTextBox;
public CustomMenuBuilder(MyCustomRichTextBox richTextBox)
: base(richTextBox)
{
this.richTextBox = richTextBox;
InsertHyperLink= new RadMenuItem
{
Header = CultureTasks.GetUIString("Infologic.Composite.Views.ILEditeur.CustomMenuBuilder.Message01", "Insert hyperlink"),
Icon = new Image()
{
Source = new BitmapImage(new Uri("pack://application:,,,/Telerik.Windows.Controls.RichTextBoxUI;component/Images/MSOffice/16/Inserthyperlink.png"))
}
};
InsertHyperLink.Tag = richTextBox;
InsertHyperLink.Click += InsertHyperlink_Click;
}
void InsertHyperlink_Click(object sender, Telerik.Windows.RadRoutedEventArgs e)
{
this.richTextBox.MyInsertHyperlink();
}
protected override ContextMenuGroup CreateFieldCommands()
{
return null;
}
protected override ContextMenuGroup CreateHyperlinkCommands(bool forExistingHyperlink)
{
return null;
}
protected override ContextMenuGroup CreateTextEditCommands()
{
var commands = base.CreateTextEditCommands();
commands.Add(InsertHyperLink); // OK
//commands.Insert(0, InsertHyperLink); // KO -> stack overflow
return commands;
}
public void Dispose()
{
InsertHyperLink.Click -= InsertHyperlink_Click;
InsertHyperLink= null;
richTextBox = null;
}
}
var richTextControl = new MyCustomRichTextBox
{
Name = string.Format("rtb{0}", increment),
AcceptsTab = false,
LayoutMode = DocumentLayoutMode.Flow,
IsSelectionMiniToolBarEnabled = false,
DocumentInheritsDefaultStyleSettings = true,
FontFamily = fontFamily,
ShowMergeFieldsHighlight = true,
FontSize = fontSize,
HorizontalScrollBarVisibility = ScrollBarVisibility.Auto
};
var builder = new CustomMenuBuilder(richTextControl);
richTextControl.ContextMenu = new Telerik.Windows.Controls.RichTextBoxUI.ContextMenu();
((Telerik.Windows.Controls.RichTextBoxUI.ContextMenu)richTextControl.ContextMenu).ContentBuilder = builder;
<
telerik:RadCartesianChart
Grid.Column
=
"1"
Grid.Row
=
"0"
Grid.RowSpan
=
"2"
Margin
=
"0,0,0,3"
x:Name
=
"lineSeries"
ClipToBounds
=
"False"
>
<
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:LinearAxis
IsInverse
=
"True"
Name
=
"verticalAxis"
Title
=
"Depth(µm)"
/>
</
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:LinearAxis
Name
=
"horizontalAxis"
Title
=
"Concentration(µmol/l)"
/>
</
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:ScatterPointSeries
x:Name
=
"pointSeries"
XValueBinding
=
"XValue"
YValueBinding
=
"YValue"
ItemsSource
=
"{Binding}"
>
<
telerik:ScatterPointSeries.PointTemplate
>
<
DataTemplate
>
<
Ellipse
Width
=
"17"
Height
=
"17"
Fill
=
"Blue"
/>
</
DataTemplate
>
</
telerik:ScatterPointSeries.PointTemplate
>
</
telerik:ScatterPointSeries
>
<
telerik:ScatterLineSeries
ItemsSource
=
"{Binding}"
StrokeThickness
=
"1.5"
x:Name
=
"serie"
Stroke
=
"Red"
XValueBinding
=
"XValue"
YValueBinding
=
"YValue"
>
</
telerik:ScatterLineSeries
>
<
telerik:AreaSeries
StrokeThickness
=
"2"
Fill
=
"Gray"
>
<
telerik:AreaSeries.DataPoints
>
<
telerik:CategoricalDataPoint
Value
=
"20"
/>
<
telerik:CategoricalDataPoint
Value
=
"40"
/>
<
telerik:CategoricalDataPoint
Value
=
"35"
/>
<
telerik:CategoricalDataPoint
Value
=
"40"
/>
<
telerik:CategoricalDataPoint
Value
=
"30"
/>
<
telerik:CategoricalDataPoint
Value
=
"50"
/>
</
telerik:AreaSeries.DataPoints
>
</
telerik:AreaSeries
>
<
telerik:RadCartesianChart.Behaviors
>
<
telerik:ChartPanAndZoomBehavior
ZoomMode
=
"Both"
PanMode
=
"Both"
/>
</
telerik:RadCartesianChart.Behaviors
>
<
telerik:RadCartesianChart.Grid
>
<
telerik:CartesianChartGrid
Name
=
"chartGrid"
MajorLinesVisibility
=
"XY"
MajorXLineDashArray
=
"5, 5"
MajorYLineDashArray
=
"5, 5"
>
<
telerik:CartesianChartGrid.MajorXLineStyle
>
<
Style
TargetType
=
"Line"
>
<
Setter
Property
=
"Shape.Stroke"
Value
=
"Gray"
/>
</
Style
>
</
telerik:CartesianChartGrid.MajorXLineStyle
>
<
telerik:CartesianChartGrid.MajorYLineStyle
>
<
Style
TargetType
=
"Line"
>
<
Setter
Property
=
"Shape.Stroke"
Value
=
"Gray"
/>
</
Style
>
</
telerik:CartesianChartGrid.MajorYLineStyle
>
</
telerik:CartesianChartGrid
>
</
telerik:RadCartesianChart.Grid
>
</
telerik:RadCartesianChart
>
<
telerik:ChartArea
Grid.Row
=
"0"
x:Name
=
"ChartArea"
NoDataString
=
""
LabelFormatBehavior
=
"None"
ItemClick
=
"ChartArea_ItemClick"
PaletteBrushesRepeat
=
"False"
EnableAnimations
=
"False"
>
<
telerik:ChartArea.ZoomScrollSettingsX
>
<
telerik:ZoomScrollSettings
ScrollMode
=
"ScrollAndZoom"
MinZoomRange
=
"0.005"
/>
</
telerik:ChartArea.ZoomScrollSettingsX
>
<
telerik:ChartArea.PaletteBrushes
>
<
SolidColorBrush
Color
=
"Orange"
/>
</
telerik:ChartArea.PaletteBrushes
>
<
telerik:ChartArea.AxisY
>
<
telerik:AxisY
Title
=
"Week"
ExtendDirection
=
"Up"
DefaultLabelFormat
=
"W20#VAL"
AutoRange
=
"True"
>
<
telerik:AxisY.AxisStyles
>
<
telerik:AxisStyles
TitleStyle
=
"{StaticResource CustomAxisTitleStyle}"
/>
</
telerik:AxisY.AxisStyles
>
</
telerik:AxisY
>
</
telerik:ChartArea.AxisY
>
<
telerik:ChartArea.AxisX
>
<
telerik:AxisX
LayoutMode
=
"Between"
/>
</
telerik:ChartArea.AxisX
>
</
telerik:ChartArea
>
public
void
ZoomIn(
object
parameter)
{
this
.ChartArea.ZoomScrollSettingsX.SuspendNotifications();
double
zoomCenter =
this
.ChartArea.ZoomScrollSettingsX.RangeStart + (
this
.ChartArea.ZoomScrollSettingsX.Range / 2);
double
newRange = Math.Max(
this
.ChartArea.ZoomScrollSettingsX.MinZoomRange,
this
.ChartArea.ZoomScrollSettingsX.Range) / 2;
this
.ChartArea.ZoomScrollSettingsX.RangeStart = Math.Max(0, zoomCenter - (newRange / 2));
this
.ChartArea.ZoomScrollSettingsX.RangeEnd = Math.Min(1, zoomCenter + (newRange / 2));
this
.ChartArea.ZoomScrollSettingsX.ResumeNotifications();
((Telerik.Windows.Controls.DelegateCommand)_zoomInCommand).InvalidateCanExecute();
((Telerik.Windows.Controls.DelegateCommand)_zoomOutCommand).InvalidateCanExecute();
}
dynamic dObject1 =
new
ExpandoObject();
dObject1.Name =
"Name1"
;
dObject1.Value = 1;