Telerik Forums
UI for WPF Forum
3 answers
159 views
    Is it possible to reset the layout of a wpf control at runtime. My scenario is that if I add a column to a persisted grid view the user will not be able to see it unless they delete their settings. Is there a way to reset to the default layout during runtime?
Kiril Vandov
Telerik team
 answered on 09 Dec 2015
1 answer
381 views

Hi,

I currently have a problem applying a bound size to the HeaderCellStyle.FontSize

Our operators have the possibility to set the text size to what they need.

I would like to have it bound like the FontSize for the GridCells in the following code snippet:

 

FontSize="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type lisaGridControl:LisaGridControl}}, Path=SettingsModel.GeneralSettings.FontSize, Mode=TwoWay}"

 

 

The proplem is that I can only find static solutions like:

<Style x:Key="GridHeaderCellStyle" TargetType="{x:Type telerik:GridViewHeaderCell}">
    <Setter Property="Foreground" Value="Black" />
    <Setter Property="FontSize" Value="16" />
    <Setter Property="FontWeight" Value="Normal" />
    <Setter Property="FontStyle" Value="Normal" />
</Style>
 

Additionally my columns are created in code behind and I have no column definition in xaml.

For example the DisplayText for the header is bound as follows:

var bindingHeader = new Binding("DisplayText") { Source = column, ValidatesOnDataErrors = false, Mode = BindingMode.OneWay };
 if (column.GridColumn == null)
{
  throw new Exception("column.GridColumn(" + column.DisplayText + ")==null");
}
 
column.GridColumn.SetBinding(GridViewColumn.HeaderProperty, bindingHeader);
 

Thanks for any suggestions

 

Best regards

 

Thomas Voß

 

 

 

 

 

 

Stefan
Telerik team
 answered on 09 Dec 2015
49 answers
583 views

Hi guys!

I installed the new Visual Studio 2015, and created a new Telerik WPF project with reference to Telerik.Windows.Controls, Telerik.Windows.Controls.GridView, Telerik.Windows.Controls.Navaigation etc.

I'm using implicit styles.

Now I want add some Telerik control, but the IntelliSense is not working!

<Window x:Class="TestWithNavigation.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
                Title="MainWindow" Height="350" Width="525">
        <Grid>
                <telerik:        ***** The IntelliSense NOT WORKING ********
        </Grid>
</Window>
 

If I drop the reference to Telerik.Windows.Controls.Navigation, it's working well.

Is it a bug? is there a way to resolve it?

Thanks , Yehudah

Petar Mladenov
Telerik team
 answered on 09 Dec 2015
3 answers
117 views

How can we make the NumericButtonCount adjust based on the width of the data pager? Using a constant value for the button count makes the control very awkward for use as most everything else is sized dynamically in a WPF application.

Maya
Telerik team
 answered on 08 Dec 2015
1 answer
139 views

In the wizard demo the side header goes from top to bottom. Is it possible to have the header go across the top of the modal and side header under it?

Like it's displayed in the WPF doc Overview, http://docs.telerik.com/devtools/wpf/controls/radwizard/overview.

 

Thanks,
Rich 

 

Yoan
Telerik team
 answered on 08 Dec 2015
2 answers
270 views

Hello,

 I need to get the visible rows. I've seen how to do this by way of: theGrid.ChildrenOfType<GridViewRow>();

But this seems to have a flaw. If I expand a group and then collapse that group, the rows in the group are now returned as visible.

Is there a way to get only the currently visible rows?

 Thanks,

Scott

Scott
Top achievements
Rank 1
 answered on 08 Dec 2015
1 answer
286 views
I currently have a column that binds to a collection of enums. I'm trying to change it so that it will display the display attribute name instead of the enum name. I was able to the the CellTemplate to display the correct attribute name but I wasn't able to get the CellEditTemplate to display the the dropdown correct. It doesn't show anything when clicked. 

My original code that works but doesn't use display name

    <telerik:GridViewComboBoxColumn Header="Event Type" ItemsSource="{Binding ScriptEvents}" DataMemberBinding="{Binding SelectedEvent}"  IsReadOnly="False" />

What I tried


    <telerik:GridViewComboBoxColumn ItemsSource="{Binding ScriptEvents}" DataMemberBinding="{Binding SelectedEvent}" IsReadOnly="False">
        <telerik:GridViewComboBoxColumn.CellTemplate >
            <DataTemplate>
                <TextBlock Text="{Binding SelectedEvent, Converter={StaticResource EnumToDisplayAttribConverter}}"/>
            </DataTemplate>
        </telerik:GridViewComboBoxColumn.CellTemplate>
        <telerik:GridViewComboBoxColumn.CellEditTemplate >
            <DataTemplate>
                <telerik:RadComboBox ItemsSource="{Binding ScriptEvents, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}">
                    <telerik:RadComboBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding SelectedEvent, Converter={StaticResource EnumToDisplayAttribConverter}}" DataContext="{Binding}"/>
                        </DataTemplate>
                     </telerik:RadComboBox.ItemTemplate>
                 </telerik:RadComboBox>
             </DataTemplate>
        </telerik:GridViewComboBoxColumn.CellEditTemplate>
    </telerik:GridViewComboBoxColumn>

Code for enum converter can be found here http://formatexception.com/2014/07/bind-a-combobox-to-an-enum-while-using-display-attribute/ 
Stefan
Telerik team
 answered on 08 Dec 2015
1 answer
170 views

my requirement as below:

1:  Don't display the underline and thousand-separator when the text box is focused

2: If the number typed is bigger than one thousand, it will fill  thousand-separator automatically (the text box is still being focused).For example, if I type in 123,then it displays as 123.00;then I input the fourth  number 7,I want it displays as 1,237.00 immediately(not only after the text box lost focused). it's important that keeping  then cursor position be after the number 7.

3:when the entire content is selected and I delete it,the value of the the text box should be zero and displays as 0.00

 many thanks


Peshito
Telerik team
 answered on 08 Dec 2015
9 answers
795 views

 

 

 

Hi,

I want to define a tooltip that will shown, when mouse is over the title of the column.

Used the below code xaml for tooltip, but it is not showing tooltip.

<
telerik:GridViewDataColumn Header="First Name"

 

 

 

DataMemberBinding="{Binding FirstName}" ToolTip="First Name Tooltip" />

I am missing any thing.

Thanks,
-Narendra

 

Sunil
Top achievements
Rank 1
 answered on 07 Dec 2015
11 answers
186 views

I have a RadObservableCollection which is populated with 2560 DataPoint Objects every 800ms.  Each DataPoint object has a Time and Value property (DateTime and Double).

I only want to store 10 seconds worth of data, so every time I add a value, I check whether the collection contains 10 seconds of data or not already.  If it does, I remove the first item in the collection.

1.foreach (RawDataPoint rdp in ldp)
2.{
3.    _Real.Add(new DataPoint(rdp.Time, rdp.Value));
4.    if((rdp.Time.Add(-dataTimeSpan) > _Real[0].Time))
5.    {
6.        _Real.RemoveAt(0); // This is an Order(n) operation.
7.    }
8.}

Unfortunately the RemoveAt(0) function on RadObservableCollection is an O(n) operation and this is causing my application to slowdown as my collection grows to it's "full" capacity, which is many thousands of entries.  Because my data is coming in so fast, I need everything to happen in less than 1 second.

I've created an ObservableQueue<T> class which implements INotifyCollectionChanged and has a ConcurrentQueue as the underlying data type, whose TryDequeue operation is O(1).  Like the following:

 

public class ObservableQueue<T> : INotifyCollectionChanged, IEnumerable<T>
   {
       public event NotifyCollectionChangedEventHandler CollectionChanged;
       private readonly ConcurrentQueue<T> queue = new ConcurrentQueue<T>();
 
       public void Enqueue(T item)
       {
           queue.Enqueue(item);
           if (CollectionChanged != null)
               CollectionChanged(this,
                   new NotifyCollectionChangedEventArgs(
                       NotifyCollectionChangedAction.Add, item, queue.Count - 1));
       }
 
       public T Dequeue()
       {
           T result;
           bool dequeued = (queue.TryDequeue(out result));
           if (CollectionChanged != null && dequeued)
           {
               CollectionChanged(this,
                   new NotifyCollectionChangedEventArgs(
                       NotifyCollectionChangedAction.Remove, result, 0));
           }
           return result;
       }
 
       public T First()
       {
           T item;
           queue.TryPeek(out item);
           return item;
       }
 
       public IEnumerator<T> GetEnumerator()
       {
           return queue.GetEnumerator();
       }
 
       IEnumerator IEnumerable.GetEnumerator()
       {
           return GetEnumerator();
       }
   }

My new implementation of the code to update the collection is as follows:

public void Add(List<RawDataPoint> ldp)
{
    foreach (RawDataPoint dp in ldp)
    {
        _Real.Enqueue(new DataPoint(dp.Time, dp.Value));
        if ((dp.Time.Add(-dataTimeSpan) > _Real.First().Time))
        {
                _Real.Dequeue();  // this is an Order(1) operation.
        }
    }
}

However I can't get the solution to work.  Either it locks up my UI or I get a "Collection was modified during enumeration" exception.

Is there any way to better implement a limited size collection where I can remove the first value in O(1) time?

Peshito
Telerik team
 answered on 07 Dec 2015
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?