Dear Telerik Team!
I use custom appointment which inherits from EntityObject. What I want to achieve is to place a button on an appointment, so I placed following code on the custom appointment template:
<Button Grid.Column="0" Grid.Row="1" Content="{Binding Appointment.Approved}" Width="50" Height="50" prism:Click.CommandParameter="{Binding Appointment.Id}" prism:Click.Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TaskApprovalCommand}" />I'm able to click the button and execute its command, but when I change "Approved" property the UI is not updating. When I try to bind the content of the button to some other property, like "Subject" it is working fine. The problem is with custom properties, the ones which are not part of original appointment class. Could you please suggest some solution for that problem? I'd be very grateful.
Many thanks and best regards
Krzysztof Kaźmierczak
Hi,
I'm using Telerik RadControls Q3 2012. After the update, I plan to add a Bollinger Band to a ChartView. However, after several trials, it always hangs the application by System.NullReferenceException: Object reference not set to an instance of an object.
The ChartView I'm using is a simple LineSeries chart in XAML:
<telerik:RadCartesianChart Margin="5" Grid.Column="0" x:Name="PriceChart" Padding="0,0,0,0"> <telerik:RadCartesianChart.HorizontalAxis> <telerik:DateTimeContinuousAxis LabelFormat="d-MMM-yy" MajorStep="1" MajorStepUnit="Month" GapLength="0.8" PlotMode="OnTicks" /> </telerik:RadCartesianChart.HorizontalAxis> <telerik:RadCartesianChart.VerticalAxis> <telerik:LinearAxis BorderBrush="DimGray" BorderThickness="0.5" /> </telerik:RadCartesianChart.VerticalAxis> <telerik:RadCartesianChart.Series> <chartView:LineSeries ItemsSource="{Binding ChartData}" CategoryBinding="Date" ValueBinding="Price" Stroke="Black" StrokeThickness="0.5"/> </telerik:RadCartesianChart.Series> <telerik:RadCartesianChart.Grid> <telerik:CartesianChartGrid MajorLinesVisibility="Y"/> </telerik:RadCartesianChart.Grid> </telerik:RadCartesianChart>
This is how I add the Bollinger Band to the chart:
LineSeries lineSeries = this.PriceChart.Series[0] as LineSeries; if ((lineSeries != null) && (lineSeries.ItemsSource != null)) { BollingerBandsIndicator indicator = new BollingerBandsIndicator(); indicator.Period = 5; indicator.StandardDeviations = 2; indicator.CategoryBinding = lineSeries.CategoryBinding; indicator.ValueBinding = lineSeries.ValueBinding; indicator.ItemsSource = lineSeries.ItemsSource; indicator.Stroke = Brushes.Red; indicator.LowerBandStroke = Brushes.Red; indicator.StrokeThickness = 1; this.PriceChart.Indicators.Add(indicator); }
And this is the StackTrace for the Exception caught:
at Telerik.Windows.Controls.ChartView.BollingerBandsIndicatorDataSource.BindCore() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\DataBinding\DataSources\Financial\BollingerBandsIndicatorDataSource.cs:line 63<BR> at Telerik.Windows.Controls.ChartView.ChartSeriesDataSource.Bind() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\DataBinding\DataSources\ChartSeriesDataSource.cs:line 235<BR> at Telerik.Windows.Controls.ChartView.ChartSeriesDataSource.Rebind(Boolean itemsSourceChanged, IEnumerable newSource) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\DataBinding\DataSources\ChartSeriesDataSource.cs:line 81<BR> at Telerik.Windows.Controls.ChartView.ChartSeriesDataSource.set_ItemsSource(IEnumerable value) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\DataBinding\DataSources\ChartSeriesDataSource.cs:line 54<BR> at Telerik.Windows.Controls.ChartView.ChartSeries.InitDataBinding() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\Common\ChartSeries.cs:line 316<BR> at Telerik.Windows.Controls.ChartView.IndicatorBase.InitDataBinding() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\CartesianChart\Indicators\IndicatorBase.cs:line 94<BR> at Telerik.Windows.Controls.ChartView.ValueIndicatorBase.InitDataBinding() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\CartesianChart\Indicators\ValueIndicatorBase.cs:line 50<BR> at Telerik.Windows.Controls.ChartView.ChartSeries.OnApplyTemplate() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\Common\ChartSeries.cs:line 239<BR> at Telerik.Windows.Controls.ChartView.LineIndicatorBase.OnApplyTemplate() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\CartesianChart\Indicators\LineIndicatorBase.cs:line 112<BR> at Telerik.Windows.Controls.ChartView.BollingerBandsIndicator.OnApplyTemplate() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\CartesianChart\Indicators\BollingerBandsIndicator.cs:line 125<BR> at System.Windows.FrameworkElement.ApplyTemplate()<BR> at Telerik.Windows.Controls.ChartView.RadChartBase.OnPresenterAdded(ChartElementPresenter presenter) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\RadChartBase.cs:line 405<BR> at Telerik.Windows.Controls.ChartView.PresenterCollection`1.InsertItem(Int32 index, T item) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\Chart\Visualization\Common\PresenterCollection.cs:line 34<BR> at STA.Modules.MarketData.Views.PairAnalytics.PairAnalyticsDetailPairView.<PostQueryChartData>b__0() in C:\Segantii\Development\Source Control\Projects\Odin\trunk\Source Codes\SegantiiTradingAnalytics\STA.Modules.MarketData\Views\PairAnalytics\PairAnalyticsDetailPairView.xaml.cs:line 70<BR> at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)<BR> at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)<BR> at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)<BR> at System.Windows.Threading.DispatcherOperation.InvokeImpl()<BR> at System.Threading.ExecutionContext.runTryCode(Object userData)<BR> at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)<BR> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)<BR> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<BR> at System.Windows.Threading.DispatcherOperation.Invoke()<BR> at System.Windows.Threading.Dispatcher.ProcessQueue()<BR> at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)<BR> at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)<BR> at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)<BR> at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)<BR> at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)<BR> at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)<BR> at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)<BR> at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)<BR> at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)<BR> at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)<BR> at System.Windows.Application.RunInternal(Window window)<BR> at System.Windows.Application.Run()<BR> at SegantiiTradingAnalytics.App.Main() in C:\Segantii\Development\Source Control\Projects\Odin\trunk\Source Codes\SegantiiTradingAnalytics\SegantiiTradingAnalytics\obj\x86\Debug\App.g.cs:line 0<BR> at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)<BR> at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)<BR> at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()<BR> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)<BR> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)<BR> at System.Threading.ThreadHelper.ThreadStart()Any help will be welcome.
Many thanks!
Frankie
Telerik.Data.Expressions.ExpressionContextclass. However, in WPF i haven't found any similar class.
<Window x:Class="GridViewTest.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" Height="350" Width="525"> <ScrollViewer telerik:StyleManager.Theme="Metro" HorizontalScrollBarVisibility="Auto"> <telerik:RadGridView AutoGenerateColumns="False" ShowGroupPanel="False" ShowInsertRow="False" IsReadOnly="True" RowIndicatorVisibility="Collapsed" Name="grdItems"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Header1" Width="50*" MinWidth="50" /> <telerik:GridViewDataColumn Header="Header2" Width="25*" MinWidth="50" TextAlignment="Right" /> <telerik:GridViewDataColumn Header="Header3" Width="25*" MinWidth="50" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </ScrollViewer> </Window>// Convert to a byte array with the proper encodingbyte[] byteArray = Encoding.ASCII.GetBytes(sRTF);// Then import into the documentIDocumentFormatProvider formatProvider = DocumentFormatProvidersManager.GetProviderByExtension(".rtf");editor.Document = formatProvider.Import(byteArray);