or
| System.InvalidOperationException: No method 'OrderBy' on type 'System.Linq.Queryable' is compatible with the supplied arguments. |
| at System.Linq.Expressions.Expression.FindMethod(Type type, String methodName, Type[] typeArgs, Expression[] args, BindingFlags flags) |
| at System.Linq.Expressions.Expression.Call(Type type, String methodName, Type[] typeArguments, Expression[] arguments) |
| at Telerik.Windows.Data.QueryableExtensions.Ordered(IQueryable source) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Collections\QueryableExtensions.cs:line 88 |
| at Telerik.Windows.Data.RecordTreeBuilder`1.GetDistinctValues(String fieldName) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Data\RecordTreeBuilder.cs:line 185 |
| at Telerik.Windows.Data.RecordManager.GetDistinctValues(String fieldName) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Data\RecordManager.cs:line 294 |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.PopulateDistinctValues() in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 541 |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.DropDownPopupOpened(Object sender, EventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 470 |
| at System.Windows.FrameworkElement.RaiseClrEvent(EventPrivateKey key, EventArgs args) |
| at System.Windows.Controls.Primitives.Popup.OnOpened(EventArgs e) |
| at System.Windows.Controls.Primitives.Popup.CreateWindow(Boolean asyncCall) |
| at System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) |
| at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
| at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
| at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) |
| at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) |
| at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) |
| at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) |
| at System.Windows.Controls.Primitives.Popup.set_IsOpen(Boolean value) |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.OnIsDropDownOpenChanged(Boolean oldValue, Boolean newValue) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 251 |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.OnIsDropDownOpenChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 126 |
| at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
| at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
| at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) |
| at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) |
| at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) |
| at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.set_IsDropDownOpen(Boolean value) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 108 |
| at Telerik.Windows.Controls.GridView.FilteringDropDown.DropDownButtonClick(Object sender, RoutedEventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 486 |
| 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.RaiseEvent(RoutedEventArgs e) |
| at System.Windows.Controls.Primitives.ButtonBase.OnClick() |
| at System.Windows.Controls.Primitives.ToggleButton.OnClick() |
| at System.Windows.Controls.Primitives.ButtonBase.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.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e) |
| 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.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, Int32 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, Boolean isSingleParameter) |
| at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) |
| DataSeries inboundBarSeries = new DataSeries(); |
| DataSeries outboundBarSeries = new DataSeries(); |
| inboundBarSeries.Definition = new BarSeriesDefinition(); |
| outboundBarSeries.Definition = new BarSeriesDefinition(); |
| inboundBarSeries.Label = "Inbound"; |
| outboundBarSeries.Label = "Outbound"; |
| skillBarChart.DefaultView.ChartArea.DataSeries.Add(inboundBarSeries); |
| skillBarChart.DefaultView.ChartArea.DataSeries.Add(outboundBarSeries); |
| } |
| public void PopulateSkillChart() |
| { |
| foreach(DataPoint dp in skillBarChart.DefaultView.ChartArea.DataSeries[0]) |
| { |
| skillBarChart.DefaultView.ChartArea.DataSeries[0].Remove(dp); |
| } |
| DataSeries inboundBarSeries = skillBarChart.DefaultView.ChartArea.DataSeries[0]; |
| DataSeries outboundBarSeries = skillBarChart.DefaultView.ChartArea.DataSeries[1]; |
| this.loadInboundSkillChart(inboundBarSeries, outboundBarSeries); |
| } |
| <Window x:Class="ThemeIssue.Window1" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" |
| xmlns:GridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" |
| Title="Dynamic Resource Troubles"> |
| <Grid> |
| <Grid.RowDefinitions> |
| <RowDefinition Height="50" /> |
| <RowDefinition /> |
| </Grid.RowDefinitions> |
| <StackPanel Grid.Row="0" Margin="5" |
| Orientation="Horizontal" |
| Background="{DynamicResource ColorOne}" |
| HorizontalAlignment="Center"> |
| <TextBlock Name="TextBlock1" |
| Margin="5" |
| VerticalAlignment="Center" |
| Background="{DynamicResource ColorTwo}" |
| Foreground="{DynamicResource ColorOne}" /> |
| <Button Content="Light" Click="butLight_Click" Margin="5"/> |
| <Button Content="Dark" Click="butDark_Click" Margin="5"/> |
| </StackPanel> |
| <telerik:RadGridView Name="RadGridView1" DataLoadMode="Asynchronous" Grid.Row="1" ColumnsWidthMode="Auto" |
| IsReadOnly="True" AutoGenerateColumns="False"> |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn |
| HeaderText="ID" |
| Background="{DynamicResource ColorTwo}" |
| DataMemberPath="ID" /> |
| <telerik:GridViewDataColumn |
| Width="*" |
| HeaderText="Name" |
| Background="{DynamicResource ColorOne}" |
| DataMemberPath="Name" /> |
| <telerik:GridViewDataColumn |
| DataFormatString="{}{0:c2}" |
| HeaderText="UnitPrice" |
| Background="{DynamicResource ColorThree}" |
| DataMemberPath="UnitPrice" /> |
| <telerik:GridViewDataColumn |
| DataFormatString="{}{0:d}" |
| HeaderText="Date" |
| Background="{DynamicResource ColorFour}" |
| DataMemberPath="Date" /> |
| <telerik:GridViewDataColumn HeaderText="Discontinued" DataMemberPath="Discontinued"> |
| <telerik:GridViewDataColumn.CellStyle> |
| <Style TargetType="GridView:GridViewCell"> |
| <Setter Property="Template"> |
| <Setter.Value> |
| <ControlTemplate TargetType="GridView:GridViewCell"> |
| <Border BorderThickness="{TemplateBinding BorderThickness}" |
| BorderBrush="{TemplateBinding BorderBrush}" |
| Background="{TemplateBinding Background}"> |
| <CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" |
| IsChecked="{Binding Discontinued}" IsEnabled="False" /> |
| </Border> |
| </ControlTemplate> |
| </Setter.Value> |
| </Setter> |
| </Style> |
| </telerik:GridViewDataColumn.CellStyle> |
| </telerik:GridViewDataColumn> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| </Grid> |
| </Window> |
| using System; |
| using System.Collections.Generic; |
| using System.ComponentModel; |
| using System.Linq; |
| using System.Windows; |
| using System.Windows.Media; |
| namespace ThemeIssue |
| { |
| /// <summary> |
| /// Interaction logic for Window1.xaml |
| /// </summary> |
| public partial class Window1 |
| { |
| private DateTime start; |
| private ResourceDictionary lightColors = new ResourceDictionary(); |
| private ResourceDictionary darkColors = new ResourceDictionary(); |
| public Window1() |
| { |
| CreateResourceDictionaries(); |
| Resources.MergedDictionaries.Add(lightColors); |
| InitializeComponent(); |
| start = DateTime.Now; |
| Loaded += Example_Loaded; |
| RadGridView1.DataLoaded += RadGridView1_DataLoaded; |
| RadGridView1.SortDescriptions.PropertyChanged += ResetTime; |
| RadGridView1.GroupDescriptions.PropertyChanged += ResetTime; |
| } |
| private void CreateResourceDictionaries() |
| { |
| var light = new SolidColorBrush(Colors.Yellow); |
| var dark = new SolidColorBrush(Colors.Green); |
| var lightAlpha = new SolidColorBrush(ModifyAlpha(light, 50)); |
| var darkAlpha = new SolidColorBrush(ModifyAlpha(dark, 50)); |
| lightColors.Add("ColorOne", dark); |
| lightColors.Add("ColorTwo", light); |
| lightColors.Add("ColorThree", darkAlpha); |
| lightColors.Add("ColorFour", lightAlpha); |
| darkColors.Add("ColorOne", light); |
| darkColors.Add("ColorTwo", dark); |
| darkColors.Add("ColorThree", lightAlpha); |
| darkColors.Add("ColorFour", darkAlpha); |
| } |
| private Color ModifyAlpha(SolidColorBrush light, byte alpha) |
| { |
| Color lightlightModified = light.Color; |
| lightModified.A = alpha; |
| return lightModified; |
| } |
| private void ResetTime(object sender, PropertyChangedEventArgs e) |
| { |
| start = DateTime.Now; |
| } |
| private void Example_Loaded(object sender, RoutedEventArgs e) |
| { |
| RadGridView1.ItemsSource = new MyBusinessObjects().GetData(100); |
| } |
| private void RadGridView1_DataLoaded(object sender, EventArgs e) |
| { |
| RadGridView1.FilterDescription.PropertyChanged += FilterDescription_PropertyChanged; |
| TextBlock1.Text = String.Format("Total time to load data: {0} ms", |
| Math.Round((DateTime.Now - start).TotalMilliseconds)); |
| } |
| private void FilterDescription_PropertyChanged(object sender, PropertyChangedEventArgs e) |
| { |
| RadGridView1.FilterDescription.PropertyChanged -= FilterDescription_PropertyChanged; |
| ResetTime(sender, e); |
| } |
| private void butLight_Click(object sender, RoutedEventArgs e) |
| { |
| Resources.MergedDictionaries.Clear(); |
| Resources.MergedDictionaries.Add(lightColors); |
| } |
| private void butDark_Click(object sender, RoutedEventArgs e) |
| { |
| Resources.MergedDictionaries.Clear(); |
| Resources.MergedDictionaries.Add(darkColors); |
| } |
| } |
| public class MyBusinessObjects |
| { |
| private string[] names = new string[] |
| { |
| "Côte de Blaye", "Boston Crab Meat", |
| "Singaporean Hokkien Fried Mee", "Gula Malacca", "Rogede sild", |
| "Spegesild", "Zaanse koeken", "Chocolade", "Maxilaku", "Valkoinen suklaa" |
| }; |
| private double[] prizes = new double[] |
| { |
| 23.2500, 9.0000, 45.6000, 32.0000, |
| 14.0000, 19.0000, 263.5000, 18.4000, 3.0000, 14.0000 |
| }; |
| private DateTime[] dates = new DateTime[] |
| { |
| new DateTime(2007, 5, 10), new DateTime(2008, 9, 13), |
| new DateTime(2008, 2, 22), new DateTime(2009, 1, 2), |
| new DateTime(2007, 4, 13), |
| new DateTime(2008, 5, 12), new DateTime(2008, 1, 19), |
| new DateTime(2008, 8, 26), |
| new DateTime(2008, 7, 31), new DateTime(2007, 7, 16) |
| }; |
| private bool[] bools = new bool[] {true, false, true, false, true, false, true, false, true, false}; |
| public IEnumerable<MyBusinessObject> GetData(int maxItems) |
| { |
| var rnd = new Random(); |
| return from i in Enumerable.Range(0, maxItems) |
| select new MyBusinessObject(i, names[rnd.Next(9)], prizes[rnd.Next(9)], |
| dates[rnd.Next(9)], bools[rnd.Next(9)]); |
| } |
| public class MyBusinessObject |
| { |
| private int id; |
| private string name; |
| private double unitPrice; |
| private DateTime date; |
| private bool discontinued; |
| public MyBusinessObject(int ID, string Name, double UnitPrice, DateTime Date, |
| bool Discontinued) |
| { |
| this.ID = ID; |
| this.Name = Name; |
| this.UnitPrice = UnitPrice; |
| this.Date = Date; |
| this.Discontinued = Discontinued; |
| } |
| public int ID |
| { |
| get { return id; } |
| set { id = value; } |
| } |
| public string Name |
| { |
| get { return name; } |
| set { name = value; } |
| } |
| public double UnitPrice |
| { |
| get { return unitPrice; } |
| set { unitPrice = value; } |
| } |
| public DateTime Date |
| { |
| get { return date; } |
| set { date = value; } |
| } |
| public bool Discontinued |
| { |
| get { return discontinued; } |
| set { discontinued = value; } |
| } |
| } |
| } |
| } |