New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom CalendarView #560

Open
gospodee opened this Issue Oct 31, 2016 · 20 comments

Comments

Projects
None yet
@gospodee
Contributor

gospodee commented Oct 31, 2016

Default CalendarView lacks range selection feature which is a common calendar use case.

This feature requires new appearance settings like border cell and middle cell styles so it can't be attached to default control in a simple manner.

Discuss.

@skendrot

This comment has been minimized.

Show comment
Hide comment
@skendrot

skendrot Oct 31, 2016

Collaborator

Are you thinking something that opens a view with three months viewable at once and allowing the user to pick the start/end dates?

Collaborator

skendrot commented Oct 31, 2016

Are you thinking something that opens a view with three months viewable at once and allowing the user to pick the start/end dates?

@gospodee

This comment has been minimized.

Show comment
Hide comment
@gospodee

gospodee Nov 1, 2016

Contributor

The view in general is the same.

Contributor

gospodee commented Nov 1, 2016

The view in general is the same.

@skendrot

This comment has been minimized.

Show comment
Hide comment
@skendrot

skendrot Nov 1, 2016

Collaborator

The same as? The current CalendarView? Can you provide some images of how you think this would look?

Collaborator

skendrot commented Nov 1, 2016

The same as? The current CalendarView? Can you provide some images of how you think this would look?

@gospodee

This comment has been minimized.

Show comment
Hide comment
@gospodee

gospodee Nov 5, 2016

Contributor

Same as UWP CalendarView. I'm not a designer and I can't share my company's design.

Basic idea is to provide a style of selected cell (single date / period borders) and a style of cells between period borders (if the period was selected). And of course the behaviour of selection.

May be the text customization is also important, for example user may need capitalize day names (it's just a general DataTemplate for cell, may be).

Contributor

gospodee commented Nov 5, 2016

Same as UWP CalendarView. I'm not a designer and I can't share my company's design.

Basic idea is to provide a style of selected cell (single date / period borders) and a style of cells between period borders (if the period was selected). And of course the behaviour of selection.

May be the text customization is also important, for example user may need capitalize day names (it's just a general DataTemplate for cell, may be).

@skendrot

This comment has been minimized.

Show comment
Hide comment
@skendrot

skendrot Nov 7, 2016

Collaborator

Like two boxes for the start and end? One box that contains both the start and the end?

Collaborator

skendrot commented Nov 7, 2016

Like two boxes for the start and end? One box that contains both the start and the end?

@jneidlinger

This comment has been minimized.

Show comment
Hide comment
@jneidlinger

jneidlinger Nov 7, 2016

@skendrot I'm assuming @llvk is talking about something similar to this (Android implementation)

calendarselect

I think you could actually accomplish something like this with use of the CalendarView control's "black out" date functionality + some clever styling - though the implementation might be a little hairy.

jneidlinger commented Nov 7, 2016

@skendrot I'm assuming @llvk is talking about something similar to this (Android implementation)

calendarselect

I think you could actually accomplish something like this with use of the CalendarView control's "black out" date functionality + some clever styling - though the implementation might be a little hairy.

@andrewleader

This comment has been minimized.

Show comment
Hide comment
@andrewleader

andrewleader Nov 8, 2016

Collaborator

In addition to that, here's what I personally need from a CalendarView

image

Custom items on each day, custom UI on each day ("+" button on the day appears when mouse hovers).

I had to build my own custom calendar control. I would much rather use a better designed custom calendar control. The one included in UWP XAML doesn't let you do any of this.

Collaborator

andrewleader commented Nov 8, 2016

In addition to that, here's what I personally need from a CalendarView

image

Custom items on each day, custom UI on each day ("+" button on the day appears when mouse hovers).

I had to build my own custom calendar control. I would much rather use a better designed custom calendar control. The one included in UWP XAML doesn't let you do any of this.

@skendrot

This comment has been minimized.

Show comment
Hide comment
@skendrot

skendrot Nov 8, 2016

Collaborator

@anbare sounds like you've already built this control. Would you want to submit a PR?

Collaborator

skendrot commented Nov 8, 2016

@anbare sounds like you've already built this control. Would you want to submit a PR?

@andrewleader

This comment has been minimized.

Show comment
Hide comment
@andrewleader

andrewleader Nov 9, 2016

Collaborator

Mine doesn't follow the standard ItemTemplate and other practices that actual XAML controls follow (it's mostly custom-built for my purposes)... it might be easy for me to re-factor it, I could look into it... but I don't have a lot of free time, so if anyone else has something, I'm happy to let them submit something.

Here's some requirements that I think would allow the control to achieve everyone's goals

  • Individual CalendarMonthView control, so that if you want to display standalone months, you can (maybe you display a grid of 4 months, etc)
  • CalendarView control that consumes the CalendarMonthView
  • CalendarView supports swiping left/right to switch months
  • CalendarView supports arrows that appear when hovered allowing mouse users to switch months
  • CalendarView supports mouse scroll to switch months
  • CalendarView supports adding buttons/elements that stay fixed while scrolling (like a Go To Today button)
  • CalendarMonthView allows custom headers/UI elements to be added
  • CalendarMonthView allows overriding the weekday headers
  • CalendarMonthView allows overriding content in the days, including changing the position of where the day number is displayed, etc
  • All those CalendarMonthView options can be configured somehow from the CalendarView
Collaborator

andrewleader commented Nov 9, 2016

Mine doesn't follow the standard ItemTemplate and other practices that actual XAML controls follow (it's mostly custom-built for my purposes)... it might be easy for me to re-factor it, I could look into it... but I don't have a lot of free time, so if anyone else has something, I'm happy to let them submit something.

Here's some requirements that I think would allow the control to achieve everyone's goals

  • Individual CalendarMonthView control, so that if you want to display standalone months, you can (maybe you display a grid of 4 months, etc)
  • CalendarView control that consumes the CalendarMonthView
  • CalendarView supports swiping left/right to switch months
  • CalendarView supports arrows that appear when hovered allowing mouse users to switch months
  • CalendarView supports mouse scroll to switch months
  • CalendarView supports adding buttons/elements that stay fixed while scrolling (like a Go To Today button)
  • CalendarMonthView allows custom headers/UI elements to be added
  • CalendarMonthView allows overriding the weekday headers
  • CalendarMonthView allows overriding content in the days, including changing the position of where the day number is displayed, etc
  • All those CalendarMonthView options can be configured somehow from the CalendarView
@skendrot

This comment has been minimized.

Show comment
Hide comment
@skendrot

skendrot Nov 9, 2016

Collaborator

@anbare Great starting point for a CalendarEntry type control. This is of course different than what @llvk originally started this thread about. They would both be good additions

Collaborator

skendrot commented Nov 9, 2016

@anbare Great starting point for a CalendarEntry type control. This is of course different than what @llvk originally started this thread about. They would both be good additions

@gospodee

This comment has been minimized.

Show comment
Hide comment
@gospodee

gospodee Nov 10, 2016

Contributor

@anbare up/down swipe is more evident (for mouse interaction consistency), isn't it?

Contributor

gospodee commented Nov 10, 2016

@anbare up/down swipe is more evident (for mouse interaction consistency), isn't it?

@deltakosh deltakosh added the sdkcheck label Nov 15, 2016

@deltakosh

This comment has been minimized.

Show comment
Hide comment
@deltakosh

deltakosh Nov 15, 2016

Contributor

I added SDKCHECK label to point this discussion to XAML team ad they may be interested by this feedback

Contributor

deltakosh commented Nov 15, 2016

I added SDKCHECK label to point this discussion to XAML team ad they may be interested by this feedback

@IbraheemOsama

This comment has been minimized.

Show comment
Hide comment
@IbraheemOsama

IbraheemOsama Sep 19, 2017

Member

@nmetulev this issue needs a SDK check :P

Member

IbraheemOsama commented Sep 19, 2017

@nmetulev this issue needs a SDK check :P

@windowstoolkitbot

This comment has been minimized.

Show comment
Hide comment
@windowstoolkitbot

windowstoolkitbot Oct 18, 2017

Collaborator

This issue seems inactive. It will automatically be closed in 14 days if there is no activity.

Collaborator

windowstoolkitbot commented Oct 18, 2017

This issue seems inactive. It will automatically be closed in 14 days if there is no activity.

@gillesbergerp

This comment has been minimized.

Show comment
Hide comment
@gillesbergerp

gillesbergerp Oct 20, 2017

I just wanted to ask, if there are some news on this topic. I'm highly interested in a standalone calendar control - the built-in just offers far too less customization options.

gillesbergerp commented Oct 20, 2017

I just wanted to ask, if there are some news on this topic. I'm highly interested in a standalone calendar control - the built-in just offers far too less customization options.

@nmetulev

This comment has been minimized.

Show comment
Hide comment
@nmetulev

nmetulev Oct 21, 2017

Member

There is no updates, we should have a uservoice entry for this in order to gauge the need of the community. Do you mind creating one here?

Member

nmetulev commented Oct 21, 2017

There is no updates, we should have a uservoice entry for this in order to gauge the need of the community. Do you mind creating one here?

@gillesbergerp

This comment has been minimized.

Show comment
Hide comment
@gillesbergerp

gillesbergerp Oct 22, 2017

I just created a uservoice entry. It can be found here.

gillesbergerp commented Oct 22, 2017

I just created a uservoice entry. It can be found here.

@nmetulev

This comment has been minimized.

Show comment
Hide comment
@nmetulev

nmetulev Oct 22, 2017

Member

Nice, time to spread the word :)

Member

nmetulev commented Oct 22, 2017

Nice, time to spread the word :)

@michael-hawker

This comment has been minimized.

Show comment
Hide comment
@michael-hawker

michael-hawker Apr 15, 2018

Contributor

This gets a little easier now with the UniformGrid control we're adding in 3.0 (PR #1975). I even made the sample app sample a simple calendar. So it could be a good starting point for someone looking into this in the future.

Contributor

michael-hawker commented Apr 15, 2018

This gets a little easier now with the UniformGrid control we're adding in 3.0 (PR #1975). I even made the sample app sample a simple calendar. So it could be a good starting point for someone looking into this in the future.

@lucaasrojas

This comment has been minimized.

Show comment
Hide comment
@lucaasrojas

lucaasrojas Jun 27, 2018

Contributor

Whats the current status of this issue?

Contributor

lucaasrojas commented Jun 27, 2018

Whats the current status of this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment