Telerik Forums
UI for WPF Forum
8 answers
230 views
I have a custom RadPane control which inherits from RadPane.

I use the MVVM design pattern.

I programmatically add Panes to a RadPaneGroup contained in a DocumentHost.

I add one of my custom RadPanes. Everything is fine. Then I add another one - still fine.

I switch back to the first one and all content is gone - for example textboxes are empty, DropDownLists are in default selected state etc.

I switch back to the second one - same story.

In debug mode I can see that the custom RadPanes still have their respective ViewModel as DataContext and these ViewModel also have their properties correct but by switching between panes, these properties don't seem to bind to their respective controls (Textboxes, DropDownLists ...) anymore or the controls don't update their values correctly.


Jason Moore
Top achievements
Rank 1
 answered on 31 May 2010
1 answer
249 views
Hi.

I have a problem with setting up Selected event for RadPanelBar.
My aim is to catch an event when RadPanelBarItem is selected.

I am using DataTemplate for Item, and EntityObject entityObject containing a List<Employee>

XAML:
Resources:
<Window.Resources>   
 
<DataTemplate x:Key="RadPanelBarItemTemplate">   
 
<StackPanel MouseLeftButtonDown="pnlEmployee_MouseLeftButtonDown" Background="Transparent" Name="pnlEmployee" Orientation="Horizontal" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">   
 
<Image Source="{Binding Photo}" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="50" Height="50"></Image> 
 
<Label Name="lblEmployeeName" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Content="{Binding Name}" />   
 
<Label Name="lblEmployeeID" Content="{Binding Id}" Visibility="Hidden" />   
 
</StackPanel>   
 
</DataTemplate >   
 
</Window.Resources>   
 
 

 


RadPanelBar: 

 

<telerik:RadPanelBar Grid.Row="1" Name="rpbLeftMenu" ExpandMode="Single" Selected="rpbLeftMenu_Selected">   
 
<telerik:RadPanelBarItem Name="rpbiEmployee" IsExpanded="True" ItemsSource="{Binding Employees}" ItemTemplate="{StaticResource RadPanelBarItemTemplate}">   
 
<telerik:RadPanelBarItem.Header>   
 
<StackPanel HorizontalAlignment="Left">   
 
<Label Name="lblEmployees" Content="Сотрудники"></Label>   
 
<TextBox HorizontalAlignment="Left" Name="txtEmployeesFilter" TextChanged="txtEmployeesFilter_TextChanged" Width="200"></TextBox>   
 
</StackPanel>   
 
</telerik:RadPanelBarItem.Header>   
 
</telerik:RadPanelBarItem> 
 
...  
 
</telerik:RadPanelBar>   
 

 

 

CodeBehind:

Getting data from DB:

try 
 
{   
 
IMSSDataClassesDataContext db = new IMSSDataClassesDataContext();   
 
var query = from employees in db.imss_employees   
            orderby employees.emp_lastname   
            select new { employees.emp_ID };   
 
foreach (var emp in query)   
{  
var em = db.get_employee_name_by_id(emp.emp_ID).First();   
entityObject.Employees.Add(  
new Employee(em.name, emp.emp_ID, ShowEmpImage(emp.emp_ID)));   
}  
 
rpbLeftMenu.DataContext = entityObject;  
 
}  
catch (Exception ex)   
{  
...  
}  
 


My solution for selecting Item event is to handle a StackPanel MouseLeftButtonDown event:

 

private void pnlEmployee_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)   
{  
StackPanel sp = sender as StackPanel;   
Label lb = sp.FindName("lblEmployeeID") as Label;   
this.Title = Convert.ToString(lb.Content); //just for testing purposes   
}  
 
 

But it works only when clicking correctly inside a stackpanel.

I want something like this:

  

<telerik:RadPanelBarItem Selected="RadPanelBarItem_Selected">   
<telerik:RadPanelBarItem.Header>   
<StackPanel Orientation="Horizontal" Margin="5">   
<TextBlock Text="BMW 128i Coupe" Margin="15 10 0 0" />   
</StackPanel>   
</telerik:RadPanelBarItem.Header>   
</telerik:RadPanelBarItem>   
   
private void RadPanelBarItem_Selected(object sender, Telerik.Windows.RadRoutedEventArgs e)   
{  
...  
}  
 

 

 

 

But I can't set Selected event handler for Items which are binded like mine:
ItemsSource="{Binding Employees}" 

How should I catch selection of Items?

Best regards,

Mike Ro
Top achievements
Rank 2
 answered on 31 May 2010
1 answer
139 views
Hi, I'm new to using your controls, but so far I'm liking it alot :)

I'm building a grid displaying data in a two level hierarchy which is easily achieved, but I was wondering if it was possible to display the rows of the second level in the same "master grid" in stead of generating a new gridviewdatacontrol? In my scenario this would give the best user experience.

Thanks in advance,

Best regards,
Kasper Schou
Kasper Schou
Top achievements
Rank 1
 answered on 29 May 2010
5 answers
263 views
Hello Telerik!

I would like to change the HierarchicalDataTemplate based off what level the user is currently on.  I am referencing a modified example that was done with the League, Division, Team example.

In my example I would like to have the treeview have the division level use the "OtherDivision" template if there are no items below.

Thanks!
Mark

<Window x:Class="WpfApplication6.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:WpfApplication6" 
    xmlns:Telerik="http://schemas.telerik.com/2008/xaml/presentation"> 
    <Grid> 
        <Grid.Resources> 
           
            <local:LeaguesDataSource x:Key="MyList" /> 
 
            <HierarchicalDataTemplate x:Key="Division" ItemsSource="{Binding Teams}"> 
                <StackPanel Orientation="Horizontal"> 
                    <TextBlock Text="{Binding Name}" FontSize="12" /> 
                </StackPanel> 
            </HierarchicalDataTemplate> 
 
            <HierarchicalDataTemplate x:Key="OtherDivision" ItemsSource="{Binding Teams}"> 
                <StackPanel Orientation="Horizontal"> 
                    <TextBlock Text="{Binding Name}" FontSize="26" /> 
                </StackPanel> 
            </HierarchicalDataTemplate> 
 
            <HierarchicalDataTemplate x:Key="League" ItemTemplate="{StaticResource Division}" 
                    ItemsSource="{Binding Divisions}"> 
                <StackPanel Orientation="Horizontal"> 
                    <TextBlock Text="{Binding Name}" Foreground="Black" FontSize="15" /> 
                </StackPanel> 
            </HierarchicalDataTemplate> 
 
            <local:LeagueDataTemplateSelector x:Key="myDataTemplateSelector"  
                LeagueTemplate="{StaticResource League}" 
                DivisionTemplate="{StaticResource Division}" 
                OtherDivisionTemplate="{StaticResource OtherDivision}" 
             /> 
             
        </Grid.Resources> 
         
        <Grid Width="300" Height="320"> 
 
                <Telerik:RadTreeView  
                    VerticalAlignment="Top" 
                    ItemsSource="{Binding Source={StaticResource MyList}}" 
                    ItemTemplateSelector="{StaticResource myDataTemplateSelector}"     
                    /> 
 
        </Grid> 
    </Grid> 
</Window> 
 
Code Behind
using System; 
using System.Collections.Generic; 
using System.IO; 
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.Shapes; 
using System.Xml.Linq; 
using System.Linq; 
 
namespace WpfApplication6 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
        public MainWindow() 
        { 
            InitializeComponent(); 
        } 
    } 
 
    public class League 
    { 
        public League(string name) 
        { 
            _name = name; 
            _divisions = new List<Division>(); 
        } 
 
 
        string _name; 
 
        public string Name { get { return _name; } } 
 
        List<Division> _divisions; 
        public List<Division> Divisions { get { return _divisions; } } 
 
    } 
 
    public class Division 
    { 
        public Division(string name) 
        { 
            _name = name; 
            _teams = new List<Team>(); 
 
        } 
 
        string _name; 
 
        public string Name { get { return _name; } } 
 
        List<Team> _teams; 
 
        public List<Team> Teams { get { return _teams; } } 
 
    } 
 
    public class Team 
    { 
        public Team(string name) 
        { 
            _name = name; 
        } 
 
        string _name; 
 
        public string Name { get { return _name; } } 
    } 
 
    public class LeaguesDataSource : List<League> 
    { 
        public LeaguesDataSource() 
        { 
            League leagueA = new League("League A"); 
            League leagueB = new League("League B"); 
 
            Division leagueADivisionA = new Division("Division A"); 
            leagueA.Divisions.Add(leagueADivisionA); 
 
            Division leagueADivisionB = new Division("Division B"); 
            leagueA.Divisions.Add(leagueADivisionB); 
 
            Division leagueADivisionC = new Division("Division C"); 
            leagueA.Divisions.Add(leagueADivisionC); 
 
            Division leagueBDivisionA = new Division("Division A"); 
            leagueBDivisionA.Teams.Add(new Team("Team 1")); 
            leagueBDivisionA.Teams.Add(new Team("Team 2")); 
            leagueBDivisionA.Teams.Add(new Team("Team 3")); 
            leagueBDivisionA.Teams.Add(new Team("Team 4")); 
            leagueBDivisionA.Teams.Add(new Team("Team 5")); 
 
            leagueB.Divisions.Add(leagueBDivisionA); 
 
            Division leagueBDivisionB = new Division("Division B"); 
            leagueBDivisionB.Teams.Add(new Team("Team Diamond")); 
            leagueBDivisionB.Teams.Add(new Team("Team Heart")); 
            leagueBDivisionB.Teams.Add(new Team("Team Club")); 
            leagueBDivisionB.Teams.Add(new Team("Team Spade")); 
 
            leagueB.Divisions.Add(leagueBDivisionB); 
 
            Division leagueBDivisionC = new Division("Division C"); 
            leagueBDivisionC.Teams.Add(new Team("Team Alpha")); 
            leagueBDivisionC.Teams.Add(new Team("Team Beta")); 
            leagueBDivisionC.Teams.Add(new Team("Team Gamma")); 
            leagueBDivisionC.Teams.Add(new Team("Team Delta")); 
            leagueBDivisionC.Teams.Add(new Team("Team Epsilon")); 
 
            leagueB.Divisions.Add(leagueBDivisionC); 
 
            this.Add(leagueA); 
            this.Add(leagueB); 
        } 
    } 
 
    public class LeagueDataTemplateSelector : DataTemplateSelector 
    { 
        private HierarchicalDataTemplate leagueTemplate; 
        private HierarchicalDataTemplate divisionTemplate; 
        private HierarchicalDataTemplate otherDivisionTemplate; 
 
        public LeagueDataTemplateSelector() 
        { 
        } 
        public override DataTemplate SelectTemplate(object item, DependencyObject container) 
        { 
            if (item is League) 
                return this.leagueTemplate; 
            else if (item is Division) 
                return this.divisionTemplate; 
            return null; 
        } 
        public HierarchicalDataTemplate LeagueTemplate 
        { 
            get 
            { 
                return this.leagueTemplate; 
            } 
            set 
            { 
                this.leagueTemplate = value; 
            } 
        } 
        public HierarchicalDataTemplate DivisionTemplate 
        { 
            get 
            { 
                return this.divisionTemplate; 
            } 
            set 
            { 
                this.divisionTemplate = value; 
            } 
        } 
 
        public HierarchicalDataTemplate OtherDivisionTemplate 
        { 
            get 
            { 
                return this.otherDivisionTemplate; 
            } 
            set 
            { 
                this.otherDivisionTemplate = value; 
            } 
        } 
        
    } 
} 

Mark Peterson
Top achievements
Rank 1
 answered on 28 May 2010
2 answers
214 views
Hi,
  I  need to draw lines between arbitrary bubbles on a bubble chart  The lines are reflective of lead-in and exiting traffic that contribute to the value of a particular bubble.  The lines may come from or go to bubbles in the current series or in another data series.
  How can I determine the coordinates of the exact center of a bubble as it is rendered in a window?

  I should mention that I have used the DataPoint object from the DataSeries object to determine the X and Y values, but am not able to translate them in a way to consistently locate the target bubble as it is rendered on the screen.   It may also be pertinent that the lines are drawn interactively after the chart is rendered and when the user selects them to be displayed on a bubble by bubble basis.
Regards,
-mark
mark
Top achievements
Rank 1
 answered on 28 May 2010
2 answers
149 views
Hi,

I have 5 items in a RadCarouselPanel and I'd like the initial behaviour of the control to show the leftmost item. Whatever i do it always seems to start with the middle item.

I've tried LineLeft, PageLeft etc etc, during the Loaded event of the control, and although programmatically these methods are having an effect on the HorizontalOffset of the control, by the time it actually displays the middle item is centred again.

What's up?

Cheers
John
jwhitley
Top achievements
Rank 1
 answered on 28 May 2010
2 answers
129 views

I have been receiving an “Object reference not set to an instance of an object.” error in the RadGridView.  I am able to receive the error by creating a new WPF Application in VS2010 and placing a RadGridView within the main window.  With the application running, click inside of the grid and press the Tab key.  Are there any settings I should change to stop the error?

adcriss
Top achievements
Rank 1
 answered on 28 May 2010
1 answer
217 views
Hello colleagues.
I've got issue. I want bind my Item to RadGridView and bind Type GridViewComboBoxColumn column
public class Item: BaseDomain 
{ 
   public virtual int Id{ get; set; } 
   public virtual string Name{ get; set; } 
   public virtual ItemType Type{ get; set; } 
}  
 
public class ItemType : BaseDomain 
{ 
   public virtual int Id{ get; set; } 
   public virtual string Name{ get; set; } 
}  
  
 I use this xaml:
<telerik:GridViewComboBoxColumn Header="Type" UniqueName="Type"  
DataMemberBinding="{Binding Type.Id}"  DisplayMemberPath="Name" SelectedValueMemberPath="Id"> 
At grid loading I populate ItemSource of column:
((GridViewComboBoxColumn)this.grServices.Columns["Type"]).ItemsSource = Repository<ItemType>.GetAll();
 grServices.ItemsSource = Repository<Item>.GetAll();
 
The problem is that at the RowEditEnded event e.NewData.Type is null at inserting and doesn't actual at editing.
What's wrong.
Please help.
Pavel Pavlov
Telerik team
 answered on 28 May 2010
1 answer
83 views
I use test app.
When i try to search "Boston" all works fine, but when search query is "chinese restaurants in San Francisco" I receive error

---------------------------
Fatal error!
---------------------------
Error message: Search Service Exception: Неправильный результат из-за исключения, возникшего во время операции.  См. описание исключения в InnerException. 

StackTrace:    в Telerik.Windows.Controls.Map.BingSearchProvider.SearchServiceSearchCompleted(Object sender, SearchCompletedEventArgs e) в c:\Builds\WPF_Scrum\Release_WPF\Sources\Development\Controls\DataVisualization\Map\Providers\Search\BingSearchProvider.cs:строка 427

   в Telerik.Windows.Controls.Map.WPFBingSearchService.SearchServiceClient.OnSearchCompleted(Object state) в c:\Builds\WPF_Scrum\Release_WPF\Sources\Development\Controls\DataVisualization\Service References\WPFBingSearchService\Reference.cs:строка 3375

   в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

   в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Andrey
Telerik team
 answered on 28 May 2010
1 answer
71 views
Route Service Exception: An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.

   at Telerik.Windows.Controls.Map.BingGeocodeProvider.GeocodeServiceReverseGeocodeCompleted(Object sender, ReverseGeocodeCompletedEventArgs e)
   at Telerik.Windows.Controls.Map.WPFBingGeocodeService.GeocodeServiceClient.OnReverseGeocodeCompleted(Object state)
   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)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(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 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(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.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at Storage.Inventory.App.Main() in c:\work\test\Storage.Inventory\obj\x86\Debug\App.g.cs:line 0
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Andrey
Telerik team
 answered on 28 May 2010
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
NavigationView (Hamburger Menu)
Wizard
ExpressionEditor
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
Callout
PasswordBox
SplashScreen
Localization
Rating
Accessibility
CollectionNavigator
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
InlineAIAssistant
+? more
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?