I have a RadGridView that is bound to VQCV.
internal class TestContext : DbContext
{
public DbSet<
City
> Cities { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseSqlite("Data Source=Test.db");
}
}
internal class City
{
public int Id { get; set; }
}
/// <
summary
>
/// Interaction logic for MainWindow.xaml
/// </
summary
>
public partial class MainWindow : Window
{
private VirtualQueryableCollectionView view;
public MainWindow()
{
InitializeComponent();
Load();
}
private void Load()
{
var context = new TestContext();
if (File.Exists("Test.db"))
{
File.Delete("Test.db");
}
File.Copy(@"..\..\Test.db", "Test.db");
view = new VirtualQueryableCollectionView(context.Cities);
view.FilterDescriptors.Add(new FilterDescriptor("Id", FilterOperator.IsEqualTo, 123));
GV.ItemsSource = view;
File.Delete("Test.db");
}
The view loads data from Entity Framework context. Sometimes it may throw DB exceptions, they go to the global level (dispatcher).
I don't know how to handle such exceptions.
private void Dispatcher_UnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
}
See my test project: https://github.com/dermeister0/telerik-test
Run the app. Click on column sort icon. Resize window. Result - infinite loop of exceptions. RadGridView tries to measure itself, it gets count of records from VQCV, but the view throws exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Data.Sqlite.SqliteException: SQLite Error 1: 'no such table: Cities'.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteCommand.<
PrepareAndEnumerateStatements
>d__62.MoveNext()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues)
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer)
at Microsoft.EntityFrameworkCore.Storage.Internal.NoopExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers, Boolean throwOnNullResult)
at lambda_method(Closure )
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ResultEnumerable`1.GetEnumerator()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass15_1`1.<
CompileQueryCore
>b__0(QueryContext qc)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute(Expression expression)
at Telerik.Windows.Data.QueryableExtensions.Count(IQueryable source)
at Telerik.Windows.Data.VirtualQueryableCollectionView.get_ItemCount()
at Telerik.Windows.Data.VirtualQueryableCollectionView.get_InternalCount()
at Telerik.Windows.Data.QueryableCollectionView.get_IsEmpty()
at Telerik.Windows.Data.DataItemCollection.get_IsEmpty()
at Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Controls.DataControl.OnItemsCollectionChangedDispatch(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.DataItemCollection.OnCollectionViewCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.Listener`2.ReceiveWeakEvent(Object sender, TArgs args)
at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.VirtualQueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.QueryableCollectionView.RefreshOverride()
at Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer()
at Telerik.Windows.Data.VirtualQueryableCollectionView.InvalidatePagingAndRefresh()
at Telerik.Windows.Data.QueryableCollectionView.OnSortDescriptorsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(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.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target, Func`2 itemConverter)
at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<
System.Collections.Specialized.NotifyCollectionChangedEventArgs
>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
at Telerik.Windows.Controls.GridView.GridViewDataControl.PerformSorting(GridViewSortingEventArgs sortingArgs)
at Telerik.Windows.Controls.GridView.GridViewDataControl.<>c__DisplayClassb7.<
Sort
>b__b6()
at Telerik.Windows.Controls.CursorManager.PerformTimeConsumingOperation(FrameworkElement frameworkElement, Action action)
at Telerik.Windows.Controls.GridView.GridViewDataControl.Sort(GridViewColumn column, Boolean appendToExisting)
at Telerik.Windows.Controls.GridView.GridViewHeaderCell.RequestSort(Boolean appendToExisting)
at Telerik.Windows.Controls.GridView.GridViewHeaderCell.PerformUserSort()
at Telerik.Windows.Controls.GridView.GridViewHeaderCell.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
couldn't change the theme by "Configure porject" menu.
although I use theme based on implicit styles, it still cannot go to the second page to select which theme will be applied.
The "Theme button" also didn't show when you select the WPF window
I use visual studio 2017 - version 15.8.9 and windows 10.
Telerik control is 2018.3.1016
-Jacky
I have VerticalLinearScale with properties:
Min= 0
Max = 100
MajorTickStep = 20
MiddleTicks = 4
by click on button I changed the values of the properties to:
Min= 0
Max = 30000
MajorTickStep = 5000
MiddleTicks = 10
the problem is that it takes too much time till the element render again with the new values
I couldn't attach the sample
Xaml is:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<telerik:VerticalLinearScale Min="0" Max="100" x:Name="bar"
IsInteractive="False"
RelativeHeight="0.8"
RangeLocation="Outside"
MajorTickOffset="0.02*"
MiddleTickOffset="0.02*"
MinorTickOffset="0.02*"
RelativeX="0.5" RelativeY="0.08"
Foreground="Gray" Fill="Red"
MajorTickStroke="Red" MiddleTickStroke="Red"
MiddleTicks="4" MinorTicks="1" MajorTickStep="20">
<telerik:VerticalLinearScale.Indicators>
<telerik:BarIndicator x:Name="VerticalIndicator" Value="{Binding Model.Parameters[0].ValueToDisplay}" BorderBrush="Transparent" Background="{Binding Model.FillColor}"
RangeColorMode="Default" telerik:ScaleObject.Location="OverOutside" StartWidth="{Binding Model.BarWidth}" EndWidth="{Binding Model.BarWidth}"
UseRangeColor="True" Margin="3,0,0,0" EmptyFill="{Binding Model.GaugeColor}" />
</telerik:VerticalLinearScale.Indicators>
</telerik:VerticalLinearScale>
<Button Content="click" Click="Button_Click" Grid.Row="1"/>
</Grid>
click event is:
private void Button_Click(object sender, RoutedEventArgs e)
{
bar.Min = 0;
bar.Max = 30000;
bar.MajorTickStep = 5000;
bar.MiddleTicks = 10;
}
Thanks,
Shoshana
Every time I try to add a GridView i get "Microsoft Visual Studio XAML Designer has stopped working." Then Close or Debug. Then after clicking Close I get this error in the window:
An Unhandled Exception has occurred
System.ArgumentException
Property 'System.Object ItemsSource' is not defined for type 'Telerik.Windows.Controls.RadGridView'
at System.Linq.Expressions.Expression.Property(Expression expression, PropertyInfo property)
at System.Linq.Expressions.Expression.Property(Expression expression, MethodInfo propertyAccessor)
at Telerik.Windows.Controls.GridView.Design.RadGridViewMetadata.<.ctor>b__0(AttributeCallbackBuilder b)
at MS.Internal.Metadata.MutableAttributeTable.ExpandAttributes(Type type, AttributeList attributes)
at MS.Internal.Metadata.MutableAttributeTable.GetExpandedAttributes(Type type, Object callbackParam, GetAttributesCallback callback)
at MS.Internal.Metadata.MutableAttributeTable.GetCustomAttributes(Type type)
at Microsoft.Windows.Design.Metadata.AttributeTable.GetCustomAttributes(Type type)
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.MetadataStore.<GetAttributes>d__29.MoveNext()
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.TypeUtilities.<MergeAttributesIterator>d__9.MoveNext()
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.TypeUtilities.GetAttributes(MemberInfo memberInfo, Type attributeType, IPlatformMetadata platformMetadata, Boolean checkBaseTypes, Func`3 canContinueCheckingBaseTypes)
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.TypeUtilities.GetAttributes(Type type, IPlatformMetadata platformMetadata, Boolean checkBaseTypes)
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.RuntimeProjectType.GetAllAttributes(Boolean inherit)
at Microsoft.VisualStudio.DesignTools.Designer.Metadata.TypeUtilities.IsTypeSupported(IProjectMetadata typeResolver, ITypeId typeId)
at Microsoft.VisualStudio.DesignTools.Designer.Tools.GenericControlTool.get_IsVisible()
at Microsoft.VisualStudio.DesignTools.Designer.Tools.GenericControlTool.GetExtensibleEquivalent()
at Microsoft.VisualStudio.DesignTools.Designer.ViewModel.Extensibility.ExtensibilityManager.ToolManager_ActiveToolChanged(Object sender, ToolEventArgs e)
at Microsoft.VisualStudio.DesignTools.Designer.Tools.ToolEventHandler.Invoke(Object sender, ToolEventArgs e)
at Microsoft.VisualStudio.DesignTools.Designer.Tools.ToolManager.OnActiveToolChanged(ToolEventArgs e)
at Microsoft.VisualStudio.DesignTools.Designer.Tools.ToolManager.set_ActiveTool(Tool value)
at Microsoft.VisualStudio.DesignTools.Designer.Tools.ToolManager.UpdateHostTool()
at Microsoft.VisualStudio.DesignTools.Designer.Tools.ToolManager.HostToolService_ActiveToolChanged(Object sender, EventArgs e)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.LocalEvent`2.<>c__DisplayClass11_0.<Invoke>b__0()
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.Call.Invoke(Boolean waitingInExternalCall)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.InvokeCall(Call call)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.ProcessQueue(CallQueue queue)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.ProcessInboundQueue(Int32 identity)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.ProcessMessage(Int32 msg, IntPtr wParam, IntPtr lParam, Boolean elevatedQuery, Boolean& handled)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.STAMarshaler.OnWindowMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Remoting.MessageOnlyHwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.DesignerProcess.RunApplication()
at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.DesignerProcess.<>c__DisplayClass3_0.<Main>b__0()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
using
System.Collections.ObjectModel;
namespace
ListBoxTest
{
public
partial
class
MainWindow
{
public
MainWindow()
{
InitializeComponent();
DataContext =
this
;
MyCollection =
new
ObservableCollection<
string
> {
"test text 1"
,
"test text 2"
,
"test text 3"
,
"test text 4"
,
"test text 5"
,
"test text 6"
};
}
public
ObservableCollection<
string
> MyCollection {
get
;
private
set
; }
}
}
<
Window
x:Class
=
"ListBoxTest.MainWindow"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
Title
=
"MainWindow"
Height
=
"500"
Width
=
"525"
>
<
telerik:RadListBox
ItemsSource
=
"{Binding MyCollection}"
>
<
telerik:RadListBox.ItemTemplate
>
<
DataTemplate
>
<
Grid
Height
=
"50"
Width
=
"100"
Background
=
"LightBlue"
telerik:DragDropManager.AllowCapturedDrag
=
"True"
>
<
TextBox
Text
=
"{Binding .}"
VerticalAlignment
=
"Center"
HorizontalAlignment
=
"Center"
telerik:DragDropManager.AllowCapturedDrag
=
"False"
telerik:DragDropManager.AllowDrag
=
"False"
/>
</
Grid
>
</
DataTemplate
>
</
telerik:RadListBox.ItemTemplate
>
<
telerik:RadListBox.DragDropBehavior
>
<
telerik:ListBoxDragDropBehavior
/>
</
telerik:RadListBox.DragDropBehavior
>
</
telerik:RadListBox
>
</
Window
>
Hello,
I'm trying to customize the style of the timeline by minimizing controls from the timeline.It will be embedded in a different control that will then perform the manipulation of zooming and scrolling.
1) I have successfully hidden the group header by modifying the TimelineItemContainer ItemsPanelTemplate TimelineItemGroupsPanel padding to be = zero
2) I have not been able to hide the small thin border item that still exists at the top of the timeline
3) I have not been able to hide the horizontal scroll bar at the bottom of the timeline.
I am using the implicit style method and have successfully completed #1.
I am trying to set theme (Fluent) AlternativeBrush into SolidColorBrush resource. I am facing error #FFF2F2F2' is not a valid value for property 'Color'.
Everything is working fine, but problem when I want to define SolidColorBrush resource from theme. This resource will be used in other templates.
For reference following is sample code what I am doing now
<
SolidColorBrush
Color
=
"{telerik:FluentResource ResourceKey=AlternativeBrush}"
x:Key
=
"AlternativeBrush"
/>
Hi Telerik,
I'm currently using the Outlook Template for visual studio and I'm wondering how can I change the accent color on the template?
I was to be able to use customized color hex or RGB to set colors for like accent, text etc.