Telerik Forums
UI for WPF Forum
1 answer
139 views
I was having a problem, and was going to post asking for help, but I figured it out. And then thought I might post about the problem I ran into, and the solution, in case someone else runs into it.

I have a user control that contains a RadDataForm and a RadGridView, both of which have their ItemsSource properties bound to a QueryableCollectionView that is wrapped around an ObservableItemCollection.

And I have a "New" button that is bound to a command that calls RadDataForm.AddNewItem().

The objects in the collection were instances of a ORM record class, and the fields in the form and the the grid were bound to properties of the record class, and all was well and good.

Until I decided that I needed to add additional validation. I couldn't modify the record class - it is shared across several projects - so I did what I have often done, I defined a new wrapper class. The constructor for the new wrapper class took a an instance of the record class as an argument, and exposed it as a property (and also exposed the additional functionality I needed.)

So I modified the collection to contain instances of this wrapper class, and modified the bindings to properties of the record class property of the wrapper, instead of to properties of the record class itself.  And then ran the program to see how it would do.

The grid displayed fine, and the form viewed existing records fine. But when I clicked my "New" button, AddNewItem() returned false.

This confused me. I could see how this would happen, if ItemsSource was bound to a fixed-size array, but I should be able to insert new items into a ObservableItemCollection.

The problem turned out to be the constructor of the wrapper class. It seems the element type in the collection must have a zero-argument constructor. Once I added this, everything worked again.
Maya
Telerik team
 answered on 20 Dec 2012
2 answers
418 views
My scenario is fairly simple: I have a grid bound to a VirtualQueryableCollectionView that is loaded with DataRows. Each DataRow has a column containing an integer value for a color that I need to convert to a SolidColorBrush. I'm specifying the RadGridView.RowStyle and an IValueConverter to achieve the setting of the row background. The problem I'm seeing is that my converter is only called one time with a row that actually contains a DataRow for it's 'Item' property. That single call is for the row just out of view in the grid. None of the visible rows before it contain a DataRow as their GridViewRow.Item.

Here is my style attached to the grid:

<telerik:RadGridView.RowStyle>
                <Style TargetType="telerik:GridViewRow">
                    <Setter Property="Background">
                        <Setter.Value>
                            <Binding RelativeSource="{RelativeSource Self}" Converter="{StaticResource DataGridRowBackgroundConverter}" ></Binding>
                        </Setter.Value>
                    </Setter>
                </Style>
            </telerik:RadGridView.RowStyle>


And here is the converter code. Note the comment on line 4:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var gridViewRow = (GridViewRow)value;
            var dataRow = gridViewRow.Item as DataRow;  // This is only true for a single row in the grid!
            if (dataRow == null) return new SolidColorBrush(Colors.Transparent);

            var integerValue = dataRow.Field<int>(DataSourceConstants.ColorColumnName);
            if (integerValue == 0)
            {
                return new SolidColorBrush(Colors.Transparent);
            }

            var bytes = BitConverter.GetBytes(integerValue);
            var color = Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0]);

            return new SolidColorBrush(color);
        }



What could I be doing wrong here?
kilhoffer
Top achievements
Rank 1
 answered on 19 Dec 2012
1 answer
161 views
Hello!
the project as the attach picture. When I click on the Create button continuously to creat document,after that, I press F2 to edit documents created, the results of the edit box is empty,why? the problem as the 3.png of the attach file. But after I created the file, use the mouse to click in the edit box next to,as the 1.png attach file, There is no the problem. The mouse does not click elsewhere, always click the Create button, Is previously created file will be the CancelEdit ()?

the xaml code:
When I create the new document, I will set the IsInEditMode=true, and I use MVVM
<UserControl.Resources>
<DataTemplate x:Key="childrenDocument">
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="/Fujitsu.iDM.View.Impl;component/Icons/128/image-folder.png"></Image>
<TextBlock Text="{Binding Name, Mode=TwoWay}" />
</StackPanel>
</DataTemplate>
<HierarchicalDataTemplate x:Key="rootDocument" ItemsSource="{Binding Mode=TwoWay, Path=ChildrenDocuments}"
ItemTemplate="{StaticResource childrenDocument}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name, Mode=TwoWay}"/>
</StackPanel>
</HierarchicalDataTemplate>
<Style x:Key="treeViewItemStyle" TargetType="telerik:RadTreeViewItem">
<Setter Property="IsInEditMode" Value="{Binding IsInEditMode, Mode=TwoWay}" />
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
<Setter Property="IsExpanded" Value="true" />
</Style>
</UserControl.Resources>
<StackPanel>
<telerik:RadTreeView x:Name="radTreeNav" PreviewSelectionChanged="RadTreeView_PreviewSelectionChanged" IsEditable="true" FontWeight="Normal"
SelectedItem="{Binding NavBarSelectedDocument, Mode=OneWayToSource}" ItemContainerStyle="{StaticResource treeViewItemStyle}"
IsLineEnabled="True" ItemTemplate="{StaticResource rootDocument}" ItemsSource="{Binding RootDocuments}" >
<telerik:RadTreeView.ItemEditTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="24" Height="24" Source="/Fujitsu.iDM.View.Impl;component/Icons/128/image-folder.png"></Image>
<TextBox Text="{Binding Path=Name, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</telerik:RadTreeView.ItemEditTemplate>
</telerik:RadTreeView>
</StackPanel>
Pavel R. Pavlov
Telerik team
 answered on 19 Dec 2012
1 answer
138 views
Hello Telerik team!.
I have 2 problems with radchart (currently i'm using Telerik.Web.UI version 2012.3.1016.35 with SharePoint 2013).
Users will be asked a survey question and choose their answers then click "Vote" button after that the radchart (Pie chart) will be display results.
Here is my issues: 
1. The rad chart always keep the previous results. If i pressed Ctrl + F5 or F5  the new results is updated. It only happened on IE 9 (good working on IE 8).
2. When anynomous user answer survey question, the radchart can't display and i received error:
'The Visible property cannot be set on Web Part 'g_49646826_5f92_4fb2_9e3a_e5059f7fcbe5'.  It can only be set on a standalone Web Part.'
I googled and found some instruction links how to fix, it's related to webpart property (Webpart.Visible=false, ...) but i didn't use it in my code.
Can anyone help me how to fix this!?
Thanks in advance!.
Evgenia
Telerik team
 answered on 19 Dec 2012
1 answer
86 views
I would like to create a line series graph that does not interpolate between points: I've been told by the quants and traders that this is called a Manhattan bar plot.

I've attached a mock up of such a graph.I can get the current RadChartView to create this effect by inserting a duplicate data points

i.e.:
DataPoint(Time: 07:00, Price: $101.10) <-- previous price
DataPoint(Time: 08:00, Price: $101.10) <-- Duplicate inserted to prevent interpolation
DataPoint(Time: 08:00, Price: $111.10) <-- New price

The problem with inserting the dummy points is that is doubles the size of the data structure bound to the graph.

I took a look at the samples but didn't see anything about customizing the behavior of the LineSeries. Note we use the light renderer because we have a very large data set.
It seems like 
BitmapLineRenderer.RenderCore()in Telerik.Windows.Controls.ChartView.

Is where the current interpolation is carried out?
Petar Marchev
Telerik team
 answered on 19 Dec 2012
3 answers
469 views
Hi guys!

I have gridview with custom defined style for it's children. But when I set up cellvalidating | rowvalidating event, it's not fire up! Why??

GridView xaml:

<t:RadGridView Grid.Row="2" Style="{StaticResource OverrideDefaultGridViewStyle}" AddingNewDataItem="OnSpecGridViewAddingNewDataItem"
                       ItemsSource="{Binding Specifications, Mode=TwoWay}" x:Name="SpecGridView">
 
            <t:RadGridView.Resources>
                <DataTemplate x:Key="DraggedItemTemplate">
                    <StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{x:Static p:Resources.AddStandardWindow_TextBlock_Dragging}" />
                            <TextBlock Text="{Binding CurrentDraggedItem.SpecificationName}" FontWeight="Bold" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding CurrentDropPosition}" FontWeight="Bold" MinWidth="45" Foreground="Gray"/>
                            <TextBlock Text=", (" Foreground="Gray" />
                            <TextBlock Text="{Binding CurrentDraggedOverItem.SpecificationName}" Foreground="Gray" />
                            <TextBlock Text=")" Foreground="Gray" />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </t:RadGridView.Resources>
 
            <t:RadGridView.Columns>
                <t:GridViewColumn>
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <t:RadButton Content="X" Click="OnDeleteSpecificationButtonClicked" Style="{StaticResource ButtonCustomStyleRed}" />
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
                     
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Specifications}">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Style="{StaticResource OverrideDefaultTextBoxStyle}" Text="{Binding SpecificationName}"/>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
 
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Parameter}" Width="20*">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <t:RadComboBox Style="{StaticResource ComboBoxStyle}" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type t:RadWindow}}, 
                                            Path=DataContext.Parameters}" SelectedItem="{Binding Parameter}" DisplayMemberPath="ParameterName" />
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
 
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Nominal}" Width="20*">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Style="{StaticResource OverrideDefaultTextBoxStyle}" KeyDown="OnKeyDown" Text="{Binding Nominal, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" SourceUpdated="OnNominalOrAccuracySourceUpdated">
                            </TextBox>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
 
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Accuracy}"
                                  Width="10*" Background="#D8E5F0">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Style="{StaticResource OverrideDefaultTextBoxStyle}" KeyDown="OnKeyDown" Text="{Binding Accuracy,
                                NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" SourceUpdated="OnNominalOrAccuracySourceUpdated" />
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
 
 
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Precision}"
                                      Width="10*"
                                      Background="#D8E5F0">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox KeyDown="OnKeyDown" Text="{Binding Presition, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource OverrideDefaultTextBoxStyle}">
                            </TextBox>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
                                   
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Min}" Width="10*">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Style="{StaticResource OverrideDefaultTextBoxStyle}" KeyDown="OnKeyDown" Text="{Binding Minimum, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" SourceUpdated="OnMinOrMaxSourceUpdated">
                            </TextBox>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
                <t:GridViewColumn Header="{x:Static p:Resources.AddStandardWindow_Max}" Width="10*">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Style="{StaticResource OverrideDefaultTextBoxStyle}" KeyDown="OnKeyDown" Text="{Binding Maximum, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" SourceUpdated="OnMinOrMaxSourceUpdated">
                            </TextBox>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
                <t:GridViewColumn Width="40">
                    <t:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Image Source="/Images/UpDown.png" Height="34" Width="34" Stretch="None"/>
                        </DataTemplate>
                    </t:GridViewColumn.CellTemplate>
                </t:GridViewColumn>
 
             
             
            </t:RadGridView.Columns>
        </t:RadGridView>

P.S. I am not using these events here in this xaml. IS there any work around?

Thank you,
Ihor.
Nedyalko Nikolov
Telerik team
 answered on 19 Dec 2012
5 answers
426 views
Hi,

I have a RadGridView and I bind a collection of objects (a large amount of data). I also have a context menu which is associated to each grid row and each context menu option will modify the grid view.
At this moment, every time an option is selected through context menu I refresh (rebind) all object collection which contain the correct information. The problem is that works fine when there are a few elements which is not my case.

So, I would like to know if there exists a way to "refresh" only the row which refer to opened context menu in order to avoid the actual lag.
Hadrien
Top achievements
Rank 1
 answered on 19 Dec 2012
1 answer
200 views
I am having trouble getting the RadPDF Viewer to bind to a wcf stream.

I am able to work with the stream and collect the bytes of the PDF in test so I know the wcf constructs are working,  however when I attempt to bind the radPDFViewer to the stream object from wcf I get the error below. Is the RadPDFviewer only able to support memory stream and file streams?

A first chance exception of type 'System.NotSupportedException' occurred in Telerik.Windows.Documents.Fixed.dll

... snippet from wcf call.

StreamAttachment = client.DownloadAttachment(txtDocumentOID.Text); PdfDocumentSource source = new PdfDocumentSource(StreamAttachment); //, FormatProviderSettings.ReadOnDemand); this.pdfViewer.DocumentSource = source; this.pdfViewer.DocumentSource.Loaded += (s, e) => { StreamAttachment.Close(); };

Thanks
Kammen
Telerik team
 answered on 19 Dec 2012
1 answer
76 views
Hello,

I have a question I've not found answer yet. I have a ScheduleView control, with a lot of coincidental appointments. I do need the ScheduleView to show them superimposed, the shorter over the larger ones, instead of show them side by side. Is this scenario possible? 

Thank you in advance.
Yana
Telerik team
 answered on 19 Dec 2012
1 answer
231 views
i've read some of the threads in the forum about how to style the item in Ganttview controls,such as the thread "specific color for each type of task " , the thread "Tree column frustrations ", the thread "Adding to GanttView Style "
but i still can not set the background color of the tree column item as same as the color of the task shown in the example program attachment in the thread "specific color for each type of task",and i can not set the color using DataTemplate for the column.
Is there any way in the current code to have the TreeColumn item background to be same as the task background color in the list ? How do I get at my data item from within a DataTemplate? The data context doesn't appear to be correct.
hope for your help
Masha
Telerik team
 answered on 19 Dec 2012
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
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
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
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?