Telerik Forums
UI for WPF Forum
8 answers
399 views

Using Telerik WPF for .NET 4

OS: Windows Server 2008

Assuming a RadGridView named "grid" is defined in XAML the following code works in

WPF Version 2011.2.712.40 but not in later versions such as 2011.2.920.40 or 2011.2.1010.40.

Calling grid.Rebind() however works for all versions.

Expected result:

Calling mi1_Click should update the value in the first cell of the grid.

public partial class MainWindow : Window
    {
        private ObservableCollection<MyDynamicObject> myObjects;
        private int Counter;
          
        public MainWindow()
        {
            InitializeComponent();
            myObjects = new ObservableCollection<MyDynamicObject>();
            for (int i = 0; i < 5; i++)
            {
                dynamic myObject = new MyDynamicObject();
                myObjects.Add(myObject);
            }
            GridViewDataColumn col = new GridViewDataColumn();
            col.Header = "Prop1";
            col.DataMemberBinding = new Binding("Prop1");
            col.DataType = typeof(string);
            grid.Columns.Add(col);
            grid.ItemsSource = myObjects;
        }
  
        private void mi1_Click(object sender, RoutedEventArgs e)
        {
            MyDynamicObject myObj = myObjects[0];
            Counter++;
            myObj.PropertyDict["Prop1"] = Counter.ToString();
            myObj.NotifyPropertyChanged("Prop1");
        }
    }
  
    public class MyDynamicObject : DynamicObject, INotifyPropertyChanged
    {
        public readonly Dictionary<string, object> PropertyDict;
        public event PropertyChangedEventHandler PropertyChanged;
  
        public void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
          
        public MyDynamicObject()
        {
            PropertyDict = new Dictionary<string, object>();   
        }
         
        public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            string propertyName = binder.Name;
            object obj1;
            result = null;
            if (PropertyDict.TryGetValue(propertyName, out obj1))
                result = obj1;
            return true;
        }
  
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            string propertyName = binder.Name;
            PropertyDict[propertyName] = value;
            return true;
        }
    }
Nedyalko Nikolov
Telerik team
 answered on 26 Oct 2011
1 answer
53 views
Hi,
How can I populate a StackedArea1003D chart at code behind?
I have a collection of Date(x axis), Price(y axis) and Delta(z axis) to show on chart.

Evgenia
Telerik team
 answered on 26 Oct 2011
7 answers
314 views
Hi,

shouldn't the RadContextMenu ensure on opening that the focus is within the attached element (or a child of it) in order to ensure that routed commands are working properly ?
Lets say I've two controls A and B.
Control B has a RadContextMenu set and contains a listbox.
The context menu contains one item "Copy" with the corresponding ApplicationCommands.Copy command set.
Control B has class command handlers for the Execute and CanExecute events of the ApplicationCommands.Copy command set.

Now if  control A receives the focus, you can still open the context menu for control B by simply right-clicking on it.
But the "Copy" menu item is now always disabled, since without the focus, the CanExecute and Execute event handlers of Control B are never called, so nobody listens on CanExecute in this case => the command is disabled.

If you left click on B's listbox and then open the context menu via right click, everything works properly, since now the listbox or it's item has the focus and CanExecute event walks up to control b.

Did I overlook something or do I really need to handle the RadContextMenu.ContextMenuOpening event manually and check whether to set the focus or not ?

Thanks in advance

Thorsten Klingert

Rosi
Telerik team
 answered on 26 Oct 2011
9 answers
432 views
I tried restyling the RadDocking ToolWindows. So I followed the instructions, created a dummy control with a RadDocking in it. copied a ToolWindow Style to a ResourceDictionary.

However now I end up with an error

Error 1 The type reference cannot find a public type named 'RadDockingTheme'.

The error refers to
 <Style x:Key="{telerik:ThemeResourceKey ThemeType={x:Type local:RadDockingTheme}, ElementType={x:Type telerik:ToolWindow}}" TargetType="{x:Type telerik:ToolWindow}">

I Have an empty class like this :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Telerik.Windows.Controls;

namespace RadControlsWpfApp1
{
    public class RadDockingTheme:Theme
    {
    }
}

and added xmlns:local="clr-namespace:RadControlsWpfApp1;assembly=RadControlsWpfApp1" before the style definition.

Can somebody tell me waht is wrong or post the source code of a working example of a restyled radpane toolbox?

Thanks in Advance!

Pieter

Dani
Telerik team
 answered on 26 Oct 2011
1 answer
106 views
Is it possible to bind and a funtion to "Add New Criteria" and "Delete" buttons onClick event?

Or an alternative event that fires everytime a new Filter Criteria or Nested Operator is added?

http://www.telerik.com/help/silverlight/raddatafilter-visual-structure.html

Rossen Hristov
Telerik team
 answered on 26 Oct 2011
1 answer
196 views
 

Hello Telerik Team,

I have a requirement where the rad combobox has a list of names. After selecting a value from the dropdown panel, the selected name should be displayed as a hyperlink.
I have managed to get the hyperlink by using a DataTemplate in the SelectionBoxTemplate of the radcombobox as shown below.

 

<UserControl.Resources>
<DataTemplate x:Key="SelectionBoxTemplateKey">
            <TextBlock>
                <Hyperlink Tag="{Binding Path=FocalUserId}" Name="hyplnkFocalFullName" 
                                Click="hyplnkFocalFullName_Click">
                    <TextBlock Text="{Binding FocalFullName}" ></TextBlock>
                </Hyperlink>
            </TextBlock>
        </DataTemplate>
</UserControl.Resources  
  
  
<Telerik:RadComboBox Name="radCmbFocal" IsEditable="False" Grid.Row="3" Grid.Column="5" Width="130"
      SelectedValue="{Binding Path=FocalId,Mode=TwoWay}"    SelectedValuePath="FocalId"
   DisplayMemberPath="FocalFullName" SelectionBoxTemplate="{StaticResource SelectionBoxTemplateKey}" 
  
HorizontalAlignment="Left" Margin="7 0 0 0" VerticalAlignment="Center"
    
SourceUpdated="radCmbFocal_SourceUpdated">                
</Telerik:RadComboBox>

But the click event of the hyperlink doesn't get's fired, nor does the cursor pointer changes to hand cursor on hovering over the selected value as it does for a normal hyperlink.

Is there a solution to achieve this requirement.

Thanks.

Regards,
Mausami.

Dani
Telerik team
 answered on 26 Oct 2011
1 answer
85 views
is there any documentation for this new control

cheers

Jason
Rossen Hristov
Telerik team
 answered on 26 Oct 2011
1 answer
74 views
When I put 1 in Minimum, en type -5 the value is 1.

If I put 0 (zero) in Minimum and type -5, the value stays at -5...

Bug ?
Michel
Top achievements
Rank 1
 answered on 25 Oct 2011
0 answers
77 views
I would like to define how my columns are presented based on the value type (e.g. integers are red, double blue, Image is shown with an icon, Percentage with a progress bar, etc). I just read about DataTemplateSelector, is this the way intended for the RadGridView? If so how do I set the datatemplateselector on the gridview? If not, what is the correct approach?

thank you for your time!
marc
Top achievements
Rank 1
 asked on 25 Oct 2011
1 answer
664 views
I have a data entry grid that I am grouping by a code in each detail record (by default - the user does not see the grouping panel).  I would like to be able to show some additional data from the group on the header.  To do this I am using Aggregate functions which does display the correct data.  However, I really want to be able to format these results to save some space and make the display more readable.  For example:
00000 Description   Cash  Inv
                                1.00   5.00

What shows is:
00000 Description  Cash 1.00  Inv 5.00

If I leave the aggregate functions showing, I can't seem to format them.  Here is the group descriptor and template that I am trying to use.  What am I missing?  Is there another way to do this?  The data is really parent/child related but the data entry is better for our users if they can go from one "parent' to another so flattened the heirarchy.  This is working fine except the display of the group header.

thanks, Koren
P.S. I realize that the template display may not be exactly right but I can't tweak it until it actually displays something.

<telerik:RadGridView.GroupHeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="0,0">
                        <TextBlock Text="{Binding Group.Key}" Margin="0,0,0,2" Width="200" />                       
                        <telerik:AggregateResultsList ItemsSource="{Binding}" VerticalAlignment="Center">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Vertical" VerticalAlignment="Center">
                                        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Caption}" Width="80" />
                                        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding FormattedValue}" Width="80" />
                                    </StackPanel>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal" />
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                        </telerik:AggregateResultsList>
                    </StackPanel>
 
                </DataTemplate>
            </telerik:RadGridView.GroupHeaderTemplate>
            <telerik:RadGridView.GroupDescriptors>
                <telerik:GroupDescriptor x:Name="TransactionGroup" Member="TransactionGroup" SortDirection="Ascending" >
                    <telerik:GroupDescriptor.AggregateFunctions>
                        <telerik:MinFunction Caption="Cash: " SourceField="CashTotal" ResultFormatString="{}{0:0.00}"  />
                        <telerik:MinFunction Caption="Inv Beg: " SourceField="BegInvTotal" ResultFormatString="{}{0:0.00}"  />
                        <telerik:MinFunction Caption="End: " SourceField="EndInvTotal" ResultFormatString="{}{0:0.00}"  />
                        <telerik:MinFunction Caption="Acc Beg: " SourceField="BegAccruedTotal" ResultFormatString="{}{0:0.00}"  />
                        <telerik:MinFunction Caption="End: " SourceField="EndAccruedTotal" ResultFormatString="{}{0:0.00}"  />
                        <telerik:MinFunction Caption="Accrual: " SourceField="AccrualAmount" ResultFormatString="{}{0:0.00}"  />
                        <telerik:SumFunction Caption="Ent Amt: " SourceField="Amount" ResultFormatString="{}{0:c2}"  />
                        <local:EnterpriseDifferenceFunction Caption="Diff: " ResultFormatString="{}{0:0.00}" />
                    </telerik:GroupDescriptor.AggregateFunctions>
                </telerik:GroupDescriptor>
            </telerik:RadGridView.GroupDescriptors>


Dimitrina
Telerik team
 answered on 25 Oct 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?