or
<
telerik:ChartSeriesProvider
Source
=
"{Binding MultiSeriesData}"
>
<
telerik:ChartSeriesProvider.SeriesDescriptors
>
<
telerik:ScatterSeriesDescriptor
ItemsSourcePath
=
"Data"
XValuePath
=
"X"
YValuePath
=
"Y"
>
<
telerik:ScatterSeriesDescriptor.Style
>
<
Style
TargetType
=
"telerik:ScatterPointSeries"
BasedOn
=
"{StaticResource ScatterPointSeriesStyle}"
>
<
Setter
Property
=
"ClipToBounds"
Value
=
"False"
/>
<
Setter
Property
=
"ClipToPlotArea"
Value
=
"False"
/>
<!-- I'd like to be able to do the following, but it causes an error -->
<!-- <Setter Property="ZIndex" Value="1000" /> -->
</
Style
>
</
telerik:ScatterSeriesDescriptor.Style
>
</
telerik:ScatterSeriesDescriptor
>
</
telerik:ChartSeriesProvider.SeriesDescriptors
>
</
telerik:ChartSeriesProvider
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
DataType
=
"itemGrid:ItemGrid"
>
<
Grid
Panel.ZIndex
=
"10"
Background
=
"Red"
VerticalAlignment
=
"Stretch"
HorizontalAlignment
=
"Stretch"
>
<
TextBlock
Text
=
"{Binding ItemName}"
/>
<
i:Interaction.Behaviors
>
<
behaviors:InertiaDeleteCptBehavior
/>
</
i:Interaction.Behaviors
>
</
Grid
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
protected
override
void
OnAttached() {
base
.OnAttached();
AssociatedObject.ManipulationDelta += Item_ManipulationDelta;
AssociatedObject.ManipulationInertiaStarting += Item_ManipulationInertiaStarting;
AssociatedObject.ManipulationCompleted += Item_ManipulationCompleted;
}
//COnstructor accepting string
public
ucCsvEditor(
string
csv)
{
InitializeComponent();
using
(StringReader sr =
new
StringReader(csv))
{
var reader =
new
CsvReader(sr);
//CSVReader will now read the whole file into an enumerable
while
(reader.Read())
{
string
[] records = reader.CurrentRecord;
string
[] headers = reader.FieldHeaders;
variablesValue.Add(records);
variablesHeader.Add(headers);
}
//ObservableCollection<string[]> myCollection = new ObservableCollection<string[]>(variablesValue);
radGridView.ItemsSource = variablesValue;
//reader.FieldHeaders
}
}
<
Grid
>
<
telerik:RadGridView
x:Name
=
"radGridView"
Grid.Row
=
"0"
AutoGenerateColumns
=
"True"
IsReadOnly
=
"False"
CanUserDeleteRows
=
"False"
/>
</
Grid
>
if
(!
string
.IsNullOrEmpty(csvData))
{
RadWindow winCsvEditor =
new
RadWindow();
ucCsvEditor temp =
new
ucCsvEditor(csvData);
winCsvEditor.Content = temp;
winCsvEditor.Header =
"CSV Editor"
;
winCsvEditor.Owner =
this
;
winCsvEditor.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
winCsvEditor.CanClose =
true
;
winCsvEditor.ShowDialog();
}
else
{
MessageBox.Show(
"No Variables available to edit"
);
}
<
telerik:RadSplitContainer
InitialPosition
=
"DockedRight"
telerik:ProportionalStackPanel.RelativeSize
=
"200, 10"
>
<
telerik:RadPaneGroup
prism:RegionManager.RegionName
=
"{x:Static inf:RegionNames.RightSidebarRegion}"
/>
</
telerik:RadSplitContainer
>
When we inject this view that has IsPinned="False"
<
Telerik:RadPane
…............…..
IsPinned
=
"False"
>
<
Grid
>
<
TextBlock
Text
=
"some text"
/>
</
Grid
>
</
Telerik:RadPane
>
IRegion sidebarRegion = RegionManager.Regions[RegionNames.RightSidebarRegion];
SideBars.ToList().ForEach(sidebarRegion.Remove);
public
BackgroundWorker worker =
new
BackgroundWorker();
public
Window1()
{
InitializeComponent();
InitializeBackgroundWorker();
}
// Set up the BackgroundWorker object by
// attaching event handlers.
private
void
InitializeBackgroundWorker()
{
worker.DoWork +=
new
DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted +=
new
RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
}
//Define a New Chart Data Class for each graph
public
class
ChartDataClass1
{
public
double
X1 {
get
;
set
; }
public
double
Y1 {
get
;
set
; }
public
ChartDataClass1()
{
}
}
public
class
ChartDataClass2
{
public
double
X2 {
get
;
set
; }
public
double
Y2 {
get
;
set
; }
public
ChartDataClass2()
{
}
}
private
void
btn1_Click(
object
sender, RoutedEventArgs e)
{
worker.RunWorkerAsync();
}
void
worker_DoWork(
object
sender, DoWorkEventArgs e)
{
// On the worker thread...cannot make UI calls from here.
e.Result = MTLB(worker,e);
}
private
void
worker_RunWorkerCompleted(
object
sender, RunWorkerCompletedEventArgs e)
{
// First, handle the case where an exception was thrown.
if
(e.Error !=
null
)
{
MessageBox.Show(e.Error.Message);
}
else
{
// Finally, handle the case where the operation
// succeeded.
xline.Series[0].ItemsSource = (System.Collections.IEnumerable)e.Result;
}
}
public
System.Collections.Generic.List<ChartDataClass1> MTLB(BackgroundWorker worker, DoWorkEventArgs e)
{
int
st = 1;
int
sp = 20;
//MATLAB inputs
MWNumericArray start = 1;
MWNumericArray stop = 20;
//MATLAB fn
Reactor.Class1 rxtr_lib =
new
Reactor.Class1();
MWArray[] result = rxtr_lib.rxtr(1, start, stop);
System.Array NH3 =
new
double
[2 * (sp - st + 1)];
NH3 = ((MWNumericArray)result[0]).ToVector(MWArrayComponent.Real);
List<ChartDataClass1> chartData1 =
new
List<ChartDataClass1>();
List<ChartDataClass2> chartData2 =
new
List<ChartDataClass2>();
for
(
int
i = 0; i < (sp - st); i++)
{
ChartDataClass1 cdc =
new
ChartDataClass1();
ChartDataClass2 cdc2 =
new
ChartDataClass2();
cdc.X1 = i;
cdc.Y1 = Convert.ToDouble(NH3.GetValue(2 * i));
cdc2.X2 = i;
cdc2.Y2 = Convert.ToDouble(NH3.GetValue(2 * i + 1));
chartData1.Add(cdc);
chartData2.Add(cdc2);
}
return
chartData1;
}