2016-03-28 27 views
0

ユーザーがUniversal WindowsプラットフォームのCalendarViewコントロールで表示できる日付の範囲を取得する方法を知りたいと思います。私はすでにマイクロソフトのウェブサイトを見てみましたが、何も見つけられないようです。デフォルトでUWPカレンダービューの表示可能な日付範囲

答えて

0

は、CalendarViewに示す最小日付が現在の日付に100年前であり、示される最大の日付は、現在の日付、過去100年です。

MinDateMaxDateのプロパティを設定することで、カレンダーが表示する最小日と最大日を変更できます。何がやりたいこと(でCalendarViewの可視領域を変更している場合

var minDate = calendarView.MinDate; 
var maxDate = calendarView.MaxDate; 

2.:このような例:

calendarView.MinDate = new DateTime(2000, 1, 1); 
calendarView.MaxDate = new DateTime(2099, 12, 31); 

また、このような日付の範囲を取得することができます。

DateTime localTime = new DateTime(2007, 07, 12, 06, 32, 00); 
DateTimeOffset dateAndOffset = new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime)); 
calendarView.SetDisplayDate(dateAndOffset); 
:それは月ビューのオープンで始まるデフォルト、それは現在の月含んで日付の6行を示して)、あなたはこのように、たとえば CalendarView.SetDisplayDate methodを使用することができます

このサンプルでは、​​CalendarViewに2007/7月が表示されます。

3.私が言ったように、カレンダービューに示されている週の数は6で、デフォルトでは、XAMLコードでは、たとえば、CalendarView.NumberOfWeeksInView propertyことによってそれを変更することができます。

<CalendarView x:Name="calendarView" NumberOfWeeksInView="8" /> 

またはコードを背後:

calendarView.NumberOfWeeksInView = 8; 

表示する最小週数は2、最大値は8です。

4.は、月表示のほかに、またCalendarView年ビューと十年のビューがあり、あなたは、XAMLコードで例えばCalendarView.DisplayMode propertyでそれを変更することができます。

<CalendarView x:Name="calendarView" DisplayMode="Year"/> 

それとも背後にあるコードでは:

calendarView.DisplayMode = CalendarViewDisplayMode.Decade; 

あなたは非常にシンプルで幅広い質問をしたので、私は考えることができるすべての可能性を挙げています。このコントロールに関する他の質問がある場合は、CalendarView classを再度確認してください。

+0

あなたの返事をお寄せいただきありがとうございます。私の質問は、実際にはどういう意味だったのでしょうか?:ユーザーがカレンダーをスクロール、ナビゲート、または表示しています。どの曜日(日付範囲)ある時点でカレンダーに表示されます。あなたはこれが私の正確な問題だと思っています。一度ユーザーがナビゲートを始めると、その時点で彼が何を正確に見ているかを知る方法がわかりません。私がこれにしたい理由は、表示されている日付に基づいてAPIからデータをロードしたいからです。たとえば: – NicolasL

+0

ユーザーがスクロールします。 30/03のcalendarview => 30/03のデータをAPIから読み込みます。問題は、CalendarViewDayItemChangedイベントを使用して作業に近いものが得られましたが、何らかの理由でコントロールが作成されたときにランダムな日付がロードされるため、役に立たないAPIコールが発生しています – NicolasL

+0

@NicolasL、ユーザーがこのコントロールをスクロールするときに発生するCalendarViewDayItemChanging'が、毎日のアイテムに対してトリガされます。これにより、読み込みデータが非常に重くなります。あなたのシナリオでは、 'SelectedDatesChanged'イベントを使用する方が良いと思います。ユーザーが1日を選択してその日のデータを読み込むと、 –

関連する問題