Telerik Forums
UI for WPF Forum
3 answers
160 views

Hello,

I have used the SDK Samples browser example MonthTickProvider and obtained the CustomMonthTickProvider class to display the Month names in the GroupTickLength. On similar lines, I have managed to create Weekly tick provider that displays the Week Number and Quarter tick provider that displays the Quarter of the year. These providers alone work fine when put as GroupTickLegth.

However, I have to display Week tick provider in the MajorTickLength along with Month in GroupTickLength. The user can also switch between having Month in MajorTickLength and Quarter in GroupTickLength.

I tried the change the SDK Browser example itself and I am facing must be non-negative.

The following code block is what I am trying to achieve:

<telerik:RadScheduleView AppointmentsSource="{Binding Appointments, Source={StaticResource ViewModel}}">
    <telerik:RadScheduleView.ViewDefinitions>
                <telerik:TimelineViewDefinition VisibleDays="365"
                                                MinTimeRulerExtent="8000">
                    <telerik:TimelineViewDefinition.GroupTickLength>
                        <example:CustomMonthTickProvider />
                    </telerik:TimelineViewDefinition.GroupTickLength>
                    <telerik:TimelineViewDefinition.MajorTickLength>
                        <example:WeeklyTickProvider />
                    </telerik:TimelineViewDefinition.MajorTickLength>
              </telerik:TimelineViewDefinition>
    </telerik:RadScheduleView.ViewDefinitions>
</telerik:RadScheduleView>

 

If we replace the MajorTickLength with the same provider as in GroupTickLength, then there is no exception raised.

Here are my Week and Quarter provider classes

public class WeeklyTickProvider : ITickProvider
   {
       public string GetFormatString(IFormatProvider formatInfo, string formatString, DateTime currentStart)
       {
           var weekNumber = GetWeekNumber(formatInfo as CultureInfo, currentStart);
           return string.Format(formatInfo, "Week {0}", weekNumber);
       }
       private static int GetWeekNumber(CultureInfo formatInfo, DateTime currentStart)
       {
           var cultureInfo = formatInfo as CultureInfo;
           if (cultureInfo != null)
           {
               return cultureInfo.Calendar.GetWeekOfYear(currentStart, cultureInfo.DateTimeFormat.CalendarWeekRule, cultureInfo.DateTimeFormat.FirstDayOfWeek);
           }
           return 0;
       }
       public DateTime GetNextStart(TimeSpan pixelLength, DateTime currentStart)
       {
           var currentDate = currentStart.Date;
           var weekStart = CalendarHelper.GetFirstDayOfWeek(currentStart, DayOfWeek.Monday);
           if (weekStart == currentDate)
           {
               return weekStart.AddDays(7);
           }
           return weekStart;
       }
   }
   public class QuarterTickProvider : ITickProvider
   {
       public string GetFormatString(IFormatProvider formatInfo, string formatString, DateTime currentStart)
       {
           if (currentStart.Month >= 10)
           {
               return "Quarter 4";
           }
           else if (currentStart.Month >= 7)
           {
               return "Quarter 3";
           }
           else if (currentStart.Month >= 4)
           {
               return "Quarter 2";
           }
           else if (currentStart.Month >= 1)
           {
               return "Quarter 1";
           }
           return string.Empty;
       }
       public DateTime GetNextStart(TimeSpan pixelLength, DateTime currentStart)
       {
           if (currentStart.Month >= 10)
           {
               return new DateTime(currentStart.Year + 1, 1, 1);
           }
           else if (currentStart.Month >= 7)
           {
               return new DateTime(currentStart.Year, 10, 1);
           }
           else if (currentStart.Month >= 4)
           {
               return new DateTime(currentStart.Year, 7, 1);
           }
           else if (currentStart.Month >= 1)
           {
               return new DateTime(currentStart.Year, 4, 1);
           }
           return DateTime.Today;
       }

Another thing I noticed is that in the above , if I set GroupTick as month and MinorTick as , then there is no exception raised, But the desired output is not achieved.

Is there any way I could provide both GroupTickLength and MajorTickLength as my own custom tick providers. I have spent a lot of time to find a way but did not achieve the desired result.

 

Rinku
Top achievements
Rank 1
 answered on 16 Apr 2018
3 answers
492 views
Hello,

ScheduleView is great. Congratulations.
I have one small question. Is it possible to make the time slots smaller (to stretch to the height of the screen or a fixed width). Now, even if I have a lot of space on screen the scheduler has a vertical scrollbar. I prefer to see all my appointments on screen without scrolling vertically, even if the time slots are smaller. Later if I want to see them bigger, I'll use the zoom feature.

I saw that setting both  MinTimeRulerExtent and MaxTimeRulerExtent on dayviewdefinition makes the time slots smaller, but I don't understand their meaning. Where can I find an example of using these extents or there is another way to do it?

Thanks
Vladimir Stoyanov
Telerik team
 answered on 16 Apr 2018
32 answers
583 views

Hello everyone! I need zoom from years to months, months to days, days to hours, hours to minutes. But with this XAML snippet:

<telerik:RadTimeline PeriodStart="01/01/2010"
                     PeriodEnd="01/01/2015"
                     StartPath="Date"
                     DurationPath="Duration">
    <telerik:RadTimeline.Intervals>
        <telerik:YearInterval/>
        <telerik:MonthInterval/>
        <telerik:DayInterval />
        <telerik:HourInterval/>
        <telerik:MinuteInterval/>
    </telerik:RadTimeline.Intervals>
</telerik:RadTimeline>

 

I can't see hours and minutes. Maximum zoom is day. How can I do that, if my maximum period will be 5 years?

 

Sorry for my poor English. I'm from Russia...

Martin Ivanov
Telerik team
 answered on 15 Apr 2018
1 answer
158 views

We are using the RadCartesianChart in our WPF project.  We are experiencing an issue where the chart does not show zero.  Our range of numbers goes from 0 to 22,000 and back down to 0 but always ends with a zero.  The chart will plot the data correctly, but when the last value is a  single zero, it will not end at zero.  It does not always do this, but enough that it is causing a problem for our end users who need to see that zero plot point.  As a work around, we are adding zeros to the data set and that will resolve the problem.

As an example, if our values being plotted looks like this:

0,100,1000,2000,5000,12000,15000,15000,15000,15000,15000,15000,15000,7000,2500,0

The charts does not drop all the way down to zero.  But if we add zeros to the end of the dataset, like this....

0,100,1000,2000,5000,12000,15000,15000,15000,15000,15000,15000,15000,7000,2500,0,0,0

....the chart line will drop down to zero.

 

Is there a way to make the chart reflect the true values - or at least "snap" to the beginning and end values?

 

Thank you for your help!

 

Martin Ivanov
Telerik team
 answered on 15 Apr 2018
10 answers
955 views
Hi,

I am using the DragDropManager and I managed to get it working. Actually it is working too good. I set AllowDrop = true on only 2 controls, but I can drop the object on all controls.

1. I had hoped to get a Cursors.No on areas where AllowDrop wasn't set to true. How can I do that? Even better would be not to fire the OnDrop() event in this case.
2. If I always have to handle the OnDrop event: Is there a way I can find out in the OnDrop() and OnDragCompleted() method to see if the Drop was legitimate/successful or not?

Regards,

Alfons
Martin Ivanov
Telerik team
 answered on 15 Apr 2018
2 answers
226 views

I'm using RadCartesianChart with a HorizontalAxis of DateTimeContinuousAxis and VerticalAxis of LineSeries. I have ~130,000 points with Value = double? and Category = DateTime. The issue I am having is that I cannot zoom in far enough to show the individual points. I have tried setting PanAndZoomBehavior.DragToZoomThreshold = 0.1; but that does not help. The zoom appears to be limited elsewhere. Thanks for your help.

Chris
Top achievements
Rank 1
 answered on 13 Apr 2018
9 answers
145 views

I have confirmed and unconfirmed project in Categories.

How can I change Category  in  Custom Appointment Dialog?

 

-Jacky

Martin Ivanov
Telerik team
 answered on 13 Apr 2018
1 answer
287 views

Hi all,

In our app, which uses a RibbonWindow and RibbonView, we have some RibbonTabs that are contextual to the currently open workspace, buttons on these tabs  are visible only to the users that have the specific security rights for the command it's bound to. These contextual RibbonTabs and their content are defined in the MainWindow xaml file, each button's visibility is databound via a converter to a CanDoThisOrThat bool property of the current workspace, the button's Command is also bound to an ICommand of the current Workspace. When a workspace is initialized, it reads the security rights of the user and set's the CanDoThisOrThat property which is then used to set the Visibility of the button.

So, our issue now it that depending on the security rights of the user, some RibbonGroups are left empty which looks kind of weird. I have tried some hacky code like hooking-up to the GotFocus event of the RibbonTab and then looping thru its Items to check for IsVisible. if none is found to be visible, the RibbonGroup's visibility is set to Collapsed. This kind of works but some RibbonTab's GotFocus event handler is never called and thus the empty groups are visible.

So my question is: Is there a way to collapse a RibbonGroup when it has no visible children?

Thank you.

Martin
Telerik team
 answered on 13 Apr 2018
3 answers
322 views

I'm using a RadCalendar in a user control with SelectionMode set to Single, DisplayMode set to MonthView, a DayTemplateSelector set like your example of this in your demo. I also have it handling the SelectionChanged event to change the date values in the DayTemplateSelector. Basically I am using a DayTemplateSelector to change the template for the Day based on a collection of appointment dates to look either selected (the scheduled appointment date) or crossed off with an X (an appointment date to be excluded). This is supposed to be modified when the user left clicks on a Day to X it off or exclude it (through the SelectionChanged event handler). Initially I wanted to use a double-click for selection but there is no double-click event to handle and the double-click example I found in another thread here required adding a huge block of xml for the Calendar Button Style and it wouldn't work in our project due to unresolved reference errors (the sample worked but it wouldn't work in our larger real-world project).

The calendar control should only allow a single day to be selected since the SelectionMode is single but each click on a Day seems to select another Day. Why? I tried setting the SelectedDate value to null from the SelectionChanged event to hopefully clear the selections but this seems to have no effect. This seems to result in peculiar looking calendar as eventually multiple days appear to be selected as the user clicks to "exclude" scheduled appointment dates. Either I need a way to ensure only one of the days is selected or I need a way to clear the selections somehow from the SelectionChanged event handler.

Can you please offer some guidance?

 

Thanks!

 

Is there a way to clear the selected day buttons?

Martin Ivanov
Telerik team
 answered on 13 Apr 2018
6 answers
247 views

Hi, I have a strange issue with the TimeBar control:

if I put a RadLinearSparkline inside of it everything works as exected, but if I try replacing the RadLinearSparkline with a RadColumnSparkline, the content doesn't match the timeline anymore. Looks like there's some kind of margin that keeps accomulating until the columns are represented between two days.

The image I've attached best represents the situation, I've also attached the code so that you can see that I'm not doing anything different when using the two controls.

I really need to use the RadColumnSparkline, what can I do to make sure everything is aligned properly?

Thanks in advance,

Matteo

Martin Ivanov
Telerik team
 answered on 13 Apr 2018
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
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?