Hi,
We have a existing WPF-MVVM project in which if I add any telerik controls, it is reflecting in the screen when I run the application.
But with the same telerik dlls, if I am trying to create a new sample project on one of the controls(ex:RadWindow) I am not able see any controls when I run the application. It just appears blank.
I am not sure what I am missing. Is it mandatory to add Theme resources to the project? or is it something else? Please help me on the same.
Thanks,
Santhosh
Hi,
How to change the background color of readonly rows of RadGridView?
Hello Telerik,
I am having an issue when trying to change my document's page when clicking on a ListView item. The page won't change at all.
Here's the code of the sample project I have created specially for this issue:
I also tried the approach in this ticket
http://www.telerik.com/forums/gotopage-issue
but it still won't work in my scenario.
<
Window
x:Class
=
"TelerikPdf.MainWindow"
xmlns:local
=
"clr-namespace:TelerikPdf"
mc:Ignorable
=
"d"
Title
=
"MainWindow"
d:DesignHeight
=
"675"
d:DesignWidth
=
"950"
xmlns:fixed
=
"clr-namespace:Telerik.Windows.Documents.Fixed;assembly=Telerik.Windows.Controls.FixedDocumentViewers"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
>
<
Grid
>
<
Grid.Resources
>
<
fixed:PdfDocumentSourceValueConverter
x:Key
=
"PdfDocumentSourceValueConverter"
/>
</
Grid.Resources
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
/>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"1*"
/>
<
RowDefinition
Height
=
"13*"
/>
</
Grid.RowDefinitions
>
<
TextBlock
Name
=
"LabelDomain"
Text
=
"Tutorial "
HorizontalAlignment
=
"Left"
Margin
=
"10,10,0,0"
VerticalAlignment
=
"Top"
FontSize
=
"18"
Grid.Row
=
"0"
Grid.Column
=
"0"
/>
<
Grid
Grid.Row
=
"1"
Grid.Column
=
"0"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"Auto"
/>
<
ColumnDefinition
Width
=
"7*"
/>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
/>
</
Grid.RowDefinitions
>
<
ListView
Grid.Row
=
"0"
Grid.Column
=
"0"
Name
=
"TutorialItems"
SelectionChanged
=
"TutorialItems_SelectionChanged"
>
<
ListView.ItemTemplate
>
<
DataTemplate
>
<
WrapPanel
>
<
TextBlock
Text
=
"{Binding}"
FontWeight
=
"Bold"
/>
</
WrapPanel
>
</
DataTemplate
>
</
ListView.ItemTemplate
>
</
ListView
>
<
Border
Grid.Row
=
"0"
Grid.Column
=
"1"
BorderBrush
=
"White"
BorderThickness
=
"0"
Margin
=
"5,0,5,0"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
/>
<
RowDefinition
Height
=
"0.2*"
/>
</
Grid.RowDefinitions
>
<
Border
BorderBrush
=
"LightGray"
BorderThickness
=
"1"
Visibility
=
"Visible"
Margin
=
"10,0,10,0"
>
<
ScrollViewer
Grid.Row
=
"0"
>
<
telerik:RadPdfViewer
Name
=
"RadPdfViewer"
Grid.Row
=
"1"
ScaleMode
=
"Normal"
/>
</
ScrollViewer
>
</
Border
>
</
Grid
>
</
Border
>
</
Grid
>
</
Grid
>
</
Window
>
code behind:
using
System;
using
System.Collections.Generic;
using
System.IO;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Data;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
using
System.Windows.Navigation;
using
System.Windows.Shapes;
using
Telerik.Windows.Documents.Fixed.FormatProviders;
using
Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using
Telerik.Windows.Documents.Fixed.Model;
namespace
TelerikPdf
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public
partial
class
MainWindow : Window
{
public
MainWindow()
{
InitializeComponent();
List<
string
> items =
new
List<
string
>();
items.Add(
"Introduction"
);
items.Add(
"How to use"
);
items.Add(
"Understanding the customer CSV file"
);
items.Add(
"Understanding the Domain CSV file"
);
TutorialItems.ItemsSource = items;
MemoryStream stream =
new
MemoryStream();
using
(Stream input = File.OpenRead(
"qwe.pdf"
))
{
input.CopyTo(stream);
}
FormatProviderSettings settings =
new
FormatProviderSettings(ReadingMode.OnDemand);
PdfFormatProvider provider =
new
PdfFormatProvider(stream, settings);
RadFixedDocument doc = provider.Import();
RadPdfViewer.Document = doc;
}
private
void
TutorialItems_SelectionChanged(
object
sender, SelectionChangedEventArgs e)
{
switch
(TutorialItems.SelectedItem.ToString())
{
case
"Introduction"
:
RadPdfViewer.GoToPage(1);
break
;
case
"How to use"
:
RadPdfViewer.GoToPage(2);
break
;
case
"Understanding the customer CSV file"
:
RadPdfViewer.GoToPage(3);
break
;
}
}
}
}
Best regards!
Hi,
I would export by datagrid and I populated it by VirtualQueryableCollectionView collection.
Example:
I have a lot of row (ex. 1000)
I used a pagesize 10
I try to export and I see the lines already loaded only.
How can I load (in this case) all rows?
Note: User can filter any columns.
Hi Team,
I would like to know how to manage the list of items per page by page like the Mobile phone screen movements?
Do not display the changes within the time period in candlestick chart!
How to solve this problem?
"Line" series works well. Displays parameter changes "ClosePrice"
The data source is the same for both series of data (CandleStick and Line)!
Link to source: https://www.dropbox.com/s/ue1n4h2rsxo2mi6/CandleStickSeriesNotWork.VS2015.zip?dl=0
<Window x:Class=
"CandleStickSeriesNotWork.MainWindow"
xmlns:telerik=
"http://schemas.telerik.com/2008/xaml/presentation"
Title=
"MainWindow"
Height=
"350"
Width=
"525"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height=
"*"
/>
<RowDefinition Height=
"70"
/>
</Grid.RowDefinitions>
<telerik:RadCartesianChart x:Name=
"radCartesianChart"
Grid.Column=
"0"
>
<telerik:RadCartesianChart.Grid>
<telerik:CartesianChartGrid MajorLinesVisibility=
"Y"
/>
</telerik:RadCartesianChart.Grid>
<telerik:RadCartesianChart.Behaviors>
<telerik:ChartCrosshairBehavior/>
<telerik:ChartPanAndZoomBehavior DragToZoomThreshold=
"0"
MouseWheelMode=
"Zoom"
DragMode=
"Pan"
ZoomMode=
"Both"
PanMode=
"Both"
/>
</telerik:RadCartesianChart.Behaviors>
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:DateTimeContinuousAxis x:Name=
"AxisX"
IsStepRecalculationOnZoomEnabled=
"True"
LabelOffset=
"0"
LastLabelVisibility=
"Visible"
LineThickness=
"1"
MaximumTicks=
"31"
MajorTickOffset=
"0"
MajorTickLength=
"5"
PlotMode=
"BetweenTicks"
SmartLabelsMode=
"None"
TickThickness=
"1"
ZIndex=
"0"
/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LinearAxis x:Name=
"AxisY"
MajorStep=
"1"
LineThickness=
"1"
SmartLabelsMode=
"SmartStepAndRange"
/>
</telerik:RadCartesianChart.VerticalAxis>
<telerik:CandlestickSeries x:Name=
"CandleSeries"
CategoryBinding=
"OpenTime"
CloseBinding=
"ClosePrice"
HighBinding=
"HighPrice"
LowBinding=
"LowPrice"
OpenBinding=
"OpenPrice"
ItemsSource=
"{Binding CandlesSeries}"
/>
<telerik:LineSeries ItemsSource=
"{Binding CandlesSeries}"
CategoryBinding=
"OpenTime"
ValueBinding=
"ClosePrice"
/>
</telerik:RadCartesianChart>
<TextBlock Grid.Row=
"1"
>
<Span FontWeight=
"Bold"
Foreground=
"Red"
>
Do not display the changes within the time period
in
candlestick chart! <LineBreak/>
How to solve
this
problem? <LineBreak/>
"Line"
series works well. Displays parameter changes
"ClosePrice"
<LineBreak/>
The data source
is
the same
for
both series of data (CandleStick and Line)!
</Span>
</TextBlock>
</Grid>
</Window>
using
System;
using
System.Collections.Generic;
using
System.Collections.ObjectModel;
using
System.Linq;
using
System.Text;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Data;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Imaging;
using
System.Windows.Navigation;
using
System.Windows.Shapes;
using
System.Windows.Threading;
using
CandleStickSeriesNotWork.Data;
using
Telerik.Windows.Controls.ChartView;
using
Telerik.Windows.Data;
namespace
CandleStickSeriesNotWork
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public
partial
class
MainWindow : Window
{
private
DispatcherTimer timer;
private
Random r;
private
ViewModel dc;
public
MainWindow()
{
InitializeComponent();
dc =
new
ViewModel();
this
.DataContext = dc;
timer =
new
DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(100);
timer.Tick += (sender, args) =>
{
DateTime date = DateTime.Now.AddSeconds(-DateTime.Now.Second);
Random k =
new
Random();
decimal
price = dc.CandlesSeries.Last().ClosePrice;
price = k.Next() % 2 == 0 ? price += 5 : price -= 5;
if
(dc.CandlesSeries.Last().OpenTime.AddMinutes(1) < date)
{
dc.CandlesSeries.Add(
new
Candle(date, price, price, price, price));
}
else
{
var candle = dc.CandlesSeries.Last();
candle.ClosePrice = price;
if
(price > candle.HighPrice) candle.HighPrice = price;
if
(price < candle.LowPrice) candle.LowPrice = price;
}
};
DateTime date1 = DateTime.Now.AddSeconds(-DateTime.Now.Second).AddMinutes(-1);
r =
new
Random();
decimal
price1 = r.Next(200);
dc.CandlesSeries.Add(
new
Candle(date1, price1, price1+100, price1-100, price1+50));
timer.Start();
}
}
}
using
System.Collections.ObjectModel;
using
CandleStickSeriesNotWork.Data;
using
Telerik.Windows.Data;
namespace
CandleStickSeriesNotWork
{
public
class
ViewModel
{
public
ObservableCollection<Candle> CandlesSeries {
get
;
set
; }
public
ViewModel ()
{
CandlesSeries =
new
ObservableCollection<Candle>();
}
}
}
using
System;
using
System.ComponentModel;
namespace
CandleStickSeriesNotWork.Data
{
public
class
Candle : INotifyPropertyChanged
{
DateTime _openTime;
decimal
_highPrice;
decimal
_lowPrice;
decimal
_openPrice;
decimal
_closePrice;
private
int
? _numberCandle;
public
Candle(DateTime opentime,
decimal
open,
decimal
high,
decimal
low,
decimal
close)
{
_openTime = opentime;
_openPrice = open;
_highPrice = high;
_lowPrice = low;
_closePrice = close;
}
public
Candle() { }
public
DateTime OpenTime
{
get
{
return
_openTime; }
set
{
if
(!Equals(_openTime, value))
{
_openTime = value;
OnPropertyChanged(
"OpenTime"
);
}
}
}
public
decimal
HighPrice
{
get
{
return
_highPrice; }
set
{
if
(!Equals(_highPrice, value))
{
_highPrice = value;
OnPropertyChanged(
"HighPrice"
);
}
}
}
public
decimal
LowPrice
{
get
{
return
_lowPrice; }
set
{
if
(!Equals(_lowPrice, value))
{
_lowPrice = value;
OnPropertyChanged(
"LowPrice"
);
}
}
}
public
decimal
OpenPrice
{
get
{
return
_openPrice; }
set
{
if
(!Equals(_openPrice, value))
{
_openPrice = value;
OnPropertyChanged(
"OpenPrice"
);
}
}
}
public
decimal
ClosePrice
{
get
{
return
_closePrice; }
set
{
if
(!Equals(_closePrice, value))
{
_closePrice = value;
OnPropertyChanged(
"ClosePrice"
);
}
}
}
public
event
PropertyChangedEventHandler PropertyChanged;
protected
virtual
void
OnPropertyChanged(
string
propertyName)
{
PropertyChanged?.Invoke(
this
,
new
PropertyChangedEventArgs(propertyName));
}
}
}
Hi Team!
I'm having the following exception throwed sometimes (I can't reproduce it consistently).
Is this a bug?
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Telerik.Windows.Controls.Charting.ResourceHelper.GetThemeLocationAttribute(Theme theme)
at Telerik.Windows.Controls.Charting.ResourceHelper.RetrieveAnimationStoryboard(IAnimatable animatableItem)
at Telerik.Windows.Controls.Charting.SelfDrawingSeries.ManageAnimationSettings()
at Telerik.Windows.Controls.Charting.SelfDrawingSeries.OnApplyTemplate()
at System.Windows.FrameworkElement.ApplyTemplate()
at Telerik.Windows.Controls.ItemsControlExtensions.GetItemsPanelRecursive[TPanel](DependencyObject control)
at Telerik.Windows.Controls.Charting.ItemsControlExtensions.InvalidateItemsPanelMeasureRecursive(ItemsControl control)
at Telerik.Windows.Controls.Charting.ChartArea.InvalidateSeriesMeasure()
at Telerik.Windows.Controls.Charting.Axis.UpdateRangeAndStep()
at Telerik.Windows.Controls.Charting.Axis.BuildAxisData()
at Telerik.Windows.Controls.Charting.AxisX.BuildAxisData()
at Telerik.Windows.Controls.Charting.Axis.UpdateAxis()
at Telerik.Windows.Controls.Charting.Axis.ChartAreaDataChanged(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Telerik.Windows.Controls.Charting.ChartArea.OnDataChanged()
at Telerik.Windows.Controls.Charting.ChartArea.UpdateChart()
at Telerik.Windows.Controls.Charting.ChartArea.OnDataSeriesCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
at Telerik.Windows.Data.RadObservableCollection`1.AddRange(IEnumerable`1 items)
at Telerik.Windows.Controls.Charting.RadHierarchicalObservableCollection`1.AddRange(IEnumerable`1 items)
at Telerik.Windows.Controls.RadChart.GenerateDataSeries(Object originalData, SeriesMappingCollection seriesMappings, ChartArea chartArea)
at Telerik.Windows.Controls.RadChart.GenerateDataSeries(Object originalData)
at Telerik.Windows.Controls.RadChart.Rebind(Object originalData)
at Telerik.Windows.Controls.RadChart.NotifyCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
at System.Collections.ObjectModel.Collection`1.Add(T item)
at MTB.View.OptionWatchContent.InsertRow(MTuple row)
at MTB.View.OptionWatchContent.<ResetPlot>b__16()
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)
Thanks a lot!
Best regards,