<
Window
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
x:Class
=
"WpfApplication1.MainWindow"
Title
=
"MainWindow"
Height
=
"594.024"
Width
=
"902.888"
>
<
Grid
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"*"
/>
<
ColumnDefinition
Width
=
"*"
/>
</
Grid.ColumnDefinitions
>
<
telerik:RadPieChart
Name
=
"PieChartDemo"
HorizontalAlignment
=
"Left"
Margin
=
"10,10,0,0"
VerticalAlignment
=
"Top"
Height
=
"543"
Width
=
"428"
/>
<
telerik:RadLegend
x:Name
=
"PieLegend"
Grid.Column
=
"1"
Items
=
"{Binding LegendItems, ElementName=PieChartDemo}"
/>
</
Grid
>
</
Window
>
public
MainWindow()
{
InitializeComponent();
FillPieChart();
}
void
FillPieChart()
{
DataTable dtData =
new
DataTable(
"DATA"
);
dtData.Columns.Add(
new
DataColumn(
"Name"
,
typeof
(
string
)));
dtData.Columns.Add(
new
DataColumn(
"Value"
,
typeof
(
double
)));
dtData.Rows.Add(
new
object
[] {
"Scrap"
, 5429287.5 });
dtData.Rows.Add(
new
object
[] {
"KWH"
, 713631 });
dtData.Rows.Add(
new
object
[] {
"Electrode"
, 327349 });
dtData.Rows.Add(
new
object
[] {
"Alloys"
, 2372722.3 });
dtData.Rows.Add(
new
object
[] {
"Fluxes"
, 317157.65 });
dtData.Rows.Add(
new
object
[] {
"Labor"
, 300084.1 });
PieChartDemo.Palette = ChartPalettes.Arctic;
PieSeries pieSer =
new
PieSeries();
pieSer.ShowLabels =
true
;
foreach
(DataRow drCost
in
dtData.Rows)
{
pieSer.DataPoints.Add(
new
PieDataPoint()
{
Value =
double
.Parse(drCost[
"Value"
].ToString()),
Label =
string
.Format(
"{0}\n{1:N} K"
, drCost[
"Name"
].ToString(),
double
.Parse(drCost[
"Value"
].ToString()) / 1000.00)
}
);
}
pieSer.LabelDefinitions.Add(
new
ChartSeriesLabelDefinition() { Margin =
new
Thickness(-5, 0, 0, 0) });
pieSer.AngleRange =
new
AngleRange(270, 360);
pieSer.LegendSettings =
new
DataPointLegendSettings();
PieChartDemo.Series.Clear();
PieChartDemo.Series.Add(pieSer);
}
pieSer.DataPoints.Add(
new
PieDataPoint()
{
Value =
double
.Parse(drCost[
"Value"
].ToString()),
Label =
string
.Format(
"{0}\n{1:N} K"
, drCost[
"Name"
].ToString(),
double
.Parse(drCost[
"Value"
].ToString()) / 1000.00)
}
<
Target
Name
=
"AfterResolveReferences"
>
<
ItemGroup
>
<
EmbeddedResource
Include
=
"@(ReferenceCopyLocalPaths)"
Condition
=
"$([System.Text.RegularExpressions.Regex]::IsMatch(%(ReferenceCopyLocalPaths.Filename), 'Telerik')) And '%(ReferenceCopyLocalPaths.Extension)' == '.dll'"
>
<
LogicalName
>%(ReferenceCopyLocalPaths.DestinationSubDirectory)%(ReferenceCopyLocalPaths.Filename)%(ReferenceCopyLocalPaths.Extension)</
LogicalName
>
</
EmbeddedResource
>
</
ItemGroup
>
</
Target
>
namespace
WpfApplication1{
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Reflection;
public
class
Program
{
[STAThreadAttribute]
public
static
void
Main()
{
var assemblies =
new
Dictionary<
string
, Assembly>();
var executingAssembly = Assembly.GetExecutingAssembly();
var resources = executingAssembly.GetManifestResourceNames().Where(n => n.StartsWith(
"Telerik"
)).Where(n => n.EndsWith(
".dll"
));
foreach
(
string
resource
in
resources)
{
using
(var stream = executingAssembly.GetManifestResourceStream(resource))
{
if
(stream ==
null
)
continue
;
var bytes =
new
byte
[stream.Length];
stream.Read(bytes, 0, bytes.Length);
try
{
assemblies.Add(resource, Assembly.Load(bytes));
}
catch
(Exception ex)
{
System.Diagnostics.Debug.Print(
string
.Format(
"Failed to load: {0}, Exception: {1}"
, resource, ex.Message));
}
}
}
AppDomain.CurrentDomain.AssemblyResolve += (s, e) =>
{
var assemblyName =
new
AssemblyName(e.Name);
var path =
string
.Format(
"{0}.dll"
, assemblyName.Name);
if
(assemblies.ContainsKey(path))
{
return
assemblies[path];
}
return
null
;
};
App.Main();
}
}
}
<
PropertyGroup
>
<
PostBuildEvent
>del /F /Q "$(TargetDir)Telerik*"
rmdir /S /Q "$(TargetDir)de"
rmdir /S /Q "$(TargetDir)es"
rmdir /S /Q "$(TargetDir)fr"
rmdir /S /Q "$(TargetDir)it"
rmdir /S /Q "$(TargetDir)nl"
rmdir /S /Q "$(TargetDir)tr"</
PostBuildEvent
>
</
PropertyGroup
>
I want a hex column both in display and edit mode, i.e. WYSIWYG.
Such as: 010, ABC, FE0, but failure in edit mode.
<telerik:GridViewMaskedInputColumn
DataMemberBinding=
"{Binding Address}"
Header=
"Hardware Address"
DataFormatString=
"{}{0:X3}"
MaskType=
"Numeric"
Mask=
"d3"
>
</telerik:GridViewMaskedInputColumn>
private
ushort
_address;
public
ushort
Address
{
get
{
return
_address; }
set
{
if
(value != _address)
{
_address = value;
OnPropertyChanged(
"Address"
);
}
}
}
In WPF Help System(2013 Q2)
Controls-->RadTreeView-->How To-->Get Previous, Next, Parent and Sibling Node of a Specific TreeView Item-->Accessing the ParentItem and RootItem
ObservableCollection<Object> selectedItems = treeView.SelectedItems;
RadTreeViewItem item = selectedItems[ 0 ] as RadTreeViewItem;
Maybe not cast successfully. Should be?
RadTreeViewItem item = treeView.SelectedContainer ;
In RadTreeView class(Pay a attention to both *item and *contrainer type):
public RadTreeViewItem SelectedContainer { get; private set; }
public Object SelectedItem { get; set; }
But in RadTreeView class:
public Object Item { get; internal set; }
public RadTreeViewItem NextItem { get; }
public RadTreeViewItem ParentItem { get; internal set; }
public RadTreeViewItem PreviousItem { get; }
I think it should be:
public Object Item { get; internal set; }
public Object NextItem { get; }
public Object ParentItem { get; internal set; }
public Object PreviousItem { get; }
public RadTreeViewItem NextContainer { get; }
public RadTreeViewItem ParentContainer { get; internal set; }
public RadTreeViewItem PreviousContainer { get; }
In both RadTreeView and RadTreeViewItem, Item and its Container should be clearly different.
Thanks!
{\rtf1\ansi\deff0\uc1\ansicpg1252\deftab720{\fonttbl{\f0\fnil\fcharset1 Times New Roman;}{\f1\fnil\fcharset1 WingDings;}}{\colortbl\red0\green0\blue0;\red255\green0\blue0;\red0\green128\blue0;\red0\green0\blue255;\red255\green255\blue0;\red255\green0\blue255;\red128\green0\blue128;\red128\green0\blue0;\red0\green255\blue0;\red0\green255\blue255;\red0\green128\blue128;\red0\green0\blue128;\red255\green255\blue255;\red192\green192\blue192;\red128\green128\blue128;\red0\green0\blue0;}\wpprheadfoot1\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\headery254\footery254\endnhere\sectdefaultcl{\*\generator WPTools_5.18;}{\*\listtable{\list\listtemplateid1
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc1{\leveltext\'02\'00.;}{\levelnumbers\'01;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc3{\leveltext\'02\'01.;}{\levelnumbers\'01;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc0{\leveltext\'02\'02.;}{\levelnumbers\'01;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc4{\leveltext\'02\'03);}{\levelnumbers\'01;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc2{\leveltext\'03(\'04);}{\levelnumbers\'02;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc4{\leveltext\'03(\'05);}{\levelnumbers\'02;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc0{\leveltext\'03(\'06);}{\levelnumbers\'02;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc0{\leveltext\'03(\'07);}{\levelnumbers\'02;}}
{\listlevel\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent360\levelnfc0{\leveltext\'03(\'08);}{\levelnumbers\'02;}}
\listid1}}{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}{\plain\fs24 test @ test 123 /\par
\pard\plain\plain\fs24\par
\plain\fs24 test \'E0 test \par
\pard\plain\plain\fs24\par
\pard\plain\plain\fs24\par
\ls1\ilvl-1{\listtext\fs24 (1)\tab}\plain\fs24\line test Resume\par
}}
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Telerik.Windows.Documents.Model.Paragraph.get_LeftIndent()
at Telerik.Windows.Documents.Model.Paragraph.get_LeftMargin()
at Telerik.Windows.Documents.Layout.SectionLayoutBox.MeasureOverrideInternal(SizeF availableSize)
at Telerik.Windows.Documents.Layout.SectionLayoutBox.MeasureOverride(SizeF availableSize)
at Telerik.Windows.Documents.Layout.LayoutElement.MeasureCore(SizeF availableSize)
at Telerik.Windows.Documents.Layout.LayoutElement.Measure(SizeF availableSize)
at Telerik.Windows.Documents.Layout.DocumentLayoutBox.MeasureOverrideInternal(SizeF availableSize)
at Telerik.Windows.Documents.Layout.DocumentLayoutBox.MeasureOverride(SizeF availableSize)
at Telerik.Windows.Documents.Layout.LayoutElement.MeasureCore(SizeF availableSize)
at Telerik.Windows.Documents.Layout.LayoutElement.Measure(SizeF availableSize)
at Telerik.Windows.Documents.Model.RadDocument.Measure(SizeF measureSize)
at Telerik.Windows.Documents.UI.DocumentWebLayoutPresenter.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)