かずきのBlog

C#やJavaやRubyとメモ書き

目次

Blog 利用状況

ニュース

わんくまBlogが不安定になったため、前に書いてたはてなダイアリーにメインを移動します。
かずきのBlog@Hatena
技術的なネタは、こちらにも、はてなへのリンクという形で掲載しますが、雑多ネタははてなダイアリーだけに掲載することが多いと思います。
コメント
プログラマ的自己紹介
お気に入りのツール/IDE
プロフィール
経歴
広告
アクセサリ

書庫

日記カテゴリ

[C#][WPF]WPFでカレンダー表示する部品って無いんだよね

カレンダーが無いなら作ればいいじゃない?
というわけで作ってみよう。

超汎用的なものを作るのはめんどくさいので、仕様はかなり絞ってみようと思う。

  1. 年月日をDateTime型で指定すると、その月のカレンダーを表示して、指定した日を選択状態にする
  2. 曜日は日曜日はじまり
  3. もちろん選択された日付をDateTime型で取得できる

前の月とか次の月や翌年、前月はとりあえずスルー。
とりあえず、日付群の中から1つ選ぶということでListBoxでいいだろう。

30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

こんな感じに表示させたいので、リストボックスのテンプレートをいじる。
カラムが7つのUniformGridを2つほどStackPanelに乗せる。
1つ目のGridには、日~土までを。
2つ目のGridはIsItemsHostをTrueにして、ListBoxのItemを表示するのに使う。

		<ListBox Name="calendar">
			<ListBox.Resources>
				<Style TargetType="{x:Type TextBlock}">
					<Setter Property="TextAlignment" Value="Right" />
				</Style>
			</ListBox.Resources>
			<ListBox.Template>
				<ControlTemplate TargetType="{x:Type ListBox}">
					<StackPanel>
						<UniformGrid Columns="7">
							<TextBlock Text="日" />
							<TextBlock Text="月" />
							<TextBlock Text="火" />
							<TextBlock Text="水" />
							<TextBlock Text="木" />
							<TextBlock Text="金" />
							<TextBlock Text="土" />
						</UniformGrid>
						<UniformGrid Columns="7" IsItemsHost="True">
						</UniformGrid>
					</StackPanel>
				</ControlTemplate>
			</ListBox.Template>
		</ListBox>

これをWindowに乗せると、こんな感じになる。

image

とりあえずいい感じ。
んで、ListBoxのDataContextにDateTimeを設定すると、その月のカレンダーが表示されるようにしてみようと思う。
というわけで、DateTimeをもとに、その月(と間を埋めるために必要な前月と翌月の数日)の日付の列挙に変換するコンバータを用意する。

namespace WpfCalendar
{
    public class DateTimeConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            DateTime date = (DateTime)value;
            var days = (from day in Enumerable.Range(1, DateTime.DaysInMonth(date.Year, date.Month))
                        select new DateTime(date.Year, date.Month, day)).ToList();
            var first = days.First();
            for (int i = 0; i < (int)first.DayOfWeek; i++)
            {
                days.Insert(0, days.First().AddDays(-1));
            }

            var last = days.Last();
            for (int i = 0; i < 6 - (int)last.DayOfWeek; i++)
            {
                days.Add(days.Last().AddDays(1));
            }

            return days;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

}

このコンバータを使ってListBoxのItemsSourceにDataContextをバインドする。

		<ListBox Name="calendar">
			<ListBox.ItemsSource>
				<Binding>
					<Binding.Converter>
						<c:DateTimeConverter xmlns:c="clr-namespace:WpfCalendar" />
					</Binding.Converter>
				</Binding>
			</ListBox.ItemsSource>
			<ListBox.Resources>
				<Style TargetType="{x:Type TextBlock}">
					<Setter Property="TextAlignment" Value="Right" />
				</Style>
			</ListBox.Resources>
			<ListBox.Template>
				<ControlTemplate TargetType="{x:Type ListBox}">
					<StackPanel>
						<UniformGrid Columns="7">
							<TextBlock Text="日" />
							<TextBlock Text="月" />
							<TextBlock Text="火" />
							<TextBlock Text="水" />
							<TextBlock Text="木" />
							<TextBlock Text="金" />
							<TextBlock Text="土" />
						</UniformGrid>
						<UniformGrid Columns="7" IsItemsHost="True">
						</UniformGrid>
					</StackPanel>
				</ControlTemplate>
			</ListBox.Template>
		</ListBox>

この時点で実行すると、↓のような感じになる。

image

段々それっぽくなってきてるかな。
後は、ListBoxのItemTemplateとItemContainerStyleで日付部分を右詰めで表示してあげる。

		<ListBox Name="calendar"
		    xmlns:sys="clr-namespace:System;assembly=mscorlib">
			<ListBox.ItemsSource>
				<Binding>
					<Binding.Converter>
						<c:DateTimeConverter xmlns:c="clr-namespace:WpfCalendar" />
					</Binding.Converter>
				</Binding>
			</ListBox.ItemsSource>
			<ListBox.Resources>
				<Style TargetType="{x:Type TextBlock}">
					<Setter Property="TextAlignment" Value="Right" />
				</Style>
			</ListBox.Resources>
			<ListBox.Template>
				<ControlTemplate TargetType="{x:Type ListBox}">
					<StackPanel>
						<UniformGrid Columns="7">
							<TextBlock Text="日" />
							<TextBlock Text="月" />
							<TextBlock Text="火" />
							<TextBlock Text="水" />
							<TextBlock Text="木" />
							<TextBlock Text="金" />
							<TextBlock Text="土" />
						</UniformGrid>
						<UniformGrid Columns="7" IsItemsHost="True">
						</UniformGrid>
					</StackPanel>
				</ControlTemplate>
			</ListBox.Template>
			<ListBox.ItemContainerStyle>
				<Style TargetType="{x:Type ListBoxItem}">
					<Setter Property="HorizontalContentAlignment" Value="Right" />
				</Style>
			</ListBox.ItemContainerStyle>
			<ListBox.ItemTemplate>
				<DataTemplate DataType="{x:Type sys:DateTime}">
					<TextBlock Text="{Binding Day}" />
				</DataTemplate>
			</ListBox.ItemTemplate>
		</ListBox>

実行すると、カレンダーっぽくなってきた。

image

今日は眠いのでここまで。

投稿日時 : 2008年1月20日 3:12

Feedback

# [C#][WPF]カレンダーを作ってみよう 2008/01/20 12:03 かずきのBlog

[C#][WPF]カレンダーを作ってみよう

# re: [C#][WPF]WPFでカレンダー表示する部品って無いんだよね 2008/01/21 1:28 nsharp

はじめまして。( ゚д゚)ノ

日付の列挙に関して:
このサンプルの場合、クエリー実行は後まわしにした方がロジックがすっきりしますよ。

こんな感じです。

  var date = (DateTime) value;

  // 該当月の1日と末日
  var firstDay = new DateTime(date.Year, date.Month, 1);
  var lastDay = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));

  // カレンダー表示の開始日と終了日
  var startDate = firstDay.AddDays(DayOfWeek.Sunday - firstDay.DayOfWeek);
  var endDate = lastDay.AddDays(DayOfWeek.Saturday - lastDay.DayOfWeek);

  return Enumerable.Range(0, (endDate - startDate).Days + 1).Select(n => startDate.AddDays(n));

# re: [C#][WPF]WPFでカレンダー表示する部品って無いんだよね 2008/01/21 6:35 かずき

>nsharpさん
確かにそうですね~。
断然見やすくなりますね(^^

# re: [C#][WPF]WPFでカレンダー表示する部品って無いんだよね 2008/01/21 14:02 nsharp

LINQフル活用で、ということでしたら、無限リストを相手にしてみるのもおもしろいかもしれません。

  static IEnumerable<DateTime> Past(this DateTime d) {
    while (true) {
      d = d.AddDays(-1);
      yield return d;
    }
  }

  static IEnumerable<DateTime> Future(this DateTime d) {
    while (true) {
      d = d.AddDays(1);
      yield return d;
    }
  }

んで、

  var date = (DateTime) value;

  // 該当月の1日と末日
  var firstDay = new DateTime(date.Year, date.Month, 1);
  var lastDay = firstDay.AddMonths(1).AddDays(-1);

  var past = date.Past().TakeWhile(d => d >= firstDay || d.DayOfWeek != DayOfWeek.Saturday).Reverse();
  var present = Enumerable.Repeat(date, 1);
  var future = date.Future().TakeWhile(d => d <= lastDay || d.DayOfWeek != DayOfWeek.Sunday);

  return past.Concat(present).Concat(future);

まあ、お遊びということで・・・。

# ???C#????????????????????????????????????????????????1???WPF??? | ???????????? 2011/05/31 10:45 Pingback/TrackBack

???C#????????????????????????????????????????????????1???WPF??? | ????????????

# sac longchamp pas cher 2012/10/17 23:14 http://www.sacslongchamppascher2013.com

You have brought up a very superb details , thankyou for the post.

# uDPIVLJOCkxnXdMQuyy 2014/08/28 1:31 http://crorkz.com/

lA3wCM Hello, you used to write great, but the last several posts have been kinda boring??? I miss your great writings. Past several posts are just a little out of track! come on!

# For sale in las vegas 2018/01/08 3:47 buying cheap online

Uk cheap http://quickfinds.in/user/profile/71137 Can I buy over the counter in philippines.

# Buy next day delivery 2018/01/08 4:07 buying online canada

Without a doctor prescription uk http://mercadoloko.com.br/user/profile/97588 cost of in us.

# Where can I buy tablets 2018/01/08 9:45 generic low cost

where can i buy cheap pills http://www.capebretoncountryclub.com/component/k2/itemlist/user/67786 buy online safely.

# Generic best price 2018/01/08 11:26 usa buy

best prices for generic http://www.satextiles.co.za/?option=com_k2&view=itemlist&task=user&id=36073 order online next day delivery.

# Cost of in new zealand 2018/01/08 18:48 buy in store

lowest price http://3drus.ru/user/DonnieDavies/ buy nz.

# What does a pill cost 2018/01/09 2:58 Buy online overnight shipping

pills for sale in south africa http://kinosrulad.com/user/MerryY2786001503/ can i buy online in uk.

# Peut ton acheter sans ordonnance 2018/01/09 19:31 Medicaments En Ligne

Comment acheter duen ligne http://medicamentsonline.life/ranitidina.html prix duen Suisse.

# drogist kopen 2018/01/10 4:27 Bestellen Pnline

Kopen in winkel rotterdam prijzen, http://online-medicijnen-bestellen.life/nimotop.html , online bestellen zonder recept te koop.

# koop prijs 2018/01/11 23:03 Medicijnen Online

Wat kost bij de apotheek den haag, http://onlinemedicijnenbestellen.life/sinequan.html , veilig kopen goedkoop.

# i Sverige Danmark 2018/01/12 0:34 forste-apotek-norge life

online Norge, http://forste-apotek-norge.life/viramune.html , lovlig online.

# priser apoteket 2018/01/12 1:18 APOTEKVARER PA NETTET

bestall billigt, http://apotekvarerpanettet.life/aciclovir.html , receptfritt köp.

# elad&amp;#225;s n&amp;#233;lk&amp;#252;l 2018/01/12 5:14 gyogyszertar-hu life

rendelés online, http://gyogyszertar-hu.life/dostinex.html - eladás.

# apoteket g&amp;#246;teborg 2018/01/12 10:56 apotekvarer-pa-nettet

receptfritt spanien pris, http://apotekvarerpanettet.life/vasotec.html , Sverige pris.

# on-line &amp;#225;rfolyamok 2018/01/12 11:06 gyogyszertar online hu life

vásárlás azonnal eladó, http://gyogyszertar-online-hu.life/estrace.html - recept nélkül árfolyamok.

# alternatief drogist kopen 2018/01/12 11:14 Online Zonder Recept

Kopen in belgie frankrijk, http://onlineapothekerzonderrecept.life/januvia.html , kopen winkel nederland.

# kosten holland 2018/01/12 16:40 Zonder Recept Online

Kopen den haag kopen, http://online-apotheker-zonder-recept.life/tetracycline.html , kopen winkel belgie.

# kan man kj&amp;#248;pe uten resept i Spania pris 2018/01/12 17:42 Apotek Norge

apotek Norge Spania, http://apotek-nettbutikk-norge.life/aldactone.html , kjøp Norge.

# apotek Danmark G&amp;#248;teborg 2018/01/13 1:37 APOTEK-NORWAY.life

Danmark online, http://apotek-norway.life/retin-a.html , selge til salgs.

# generisk billigt priser 2018/01/13 3:16 billige-apotekvarer.life

apotek pris, http://apotekvarerpanettet.life/topamax.html , lagligt pris.

# pris apotek malm&amp;#246; 2018/01/13 3:22 apotekvarerpanett life

tabletter göteborg, http://apotekvarerpanettet.life/sarafem.html , köpa i Sverige göteborg.

# bestellen voorschrift 2018/01/13 5:28 Nederland Apotheker Online

Amsterdam kosten, http://online-apotheker-nederland.life/propranolol.html , pillen kopen nederland.

# bestille nett 2018/01/13 8:58 apoteknorway life

beste sted å kjøpe Sverige, http://apoteknorway.life/amaryl.html , salg bergen.

# prijsvergelijking winkel 2018/01/13 11:21 Apotheek Zonder Recept

Kopen in belgie prijs, http://onlineapotheekzonderrecept.life/nimotop.html , kopen zonder recept apotheek kosten.

# v&amp;#225;s&amp;#225;rl&amp;#225;s elad&amp;#243; 2018/01/13 15:28 GYOGYSZERTAR ONLINE

árak, http://gyogyszertar-online.life/methotrexate.html - budapest azonnal.

# te koop bij apotheek nederland 2018/01/13 16:42 online-apotheek-zonder-recept.life

Kopen in frankrijk belgie, http://online-apotheek-zonder-recept.life/plavix.html , veilig kopen nederland.

# kj&amp;#248;p online i Norge Oslo 2018/01/13 18:15 apotek norge online life

prissammenligning Danmark, http://apotek-norge-online.life/zocor.html , kostnaden nett.

# generic uk online 2018/01/13 19:11 SVERIGE APOTEK PA NATET

online shop, http://apotekvarerpanettet.life/myambutol.html , köpa tabletter.

# pris tabletter 2018/01/14 3:02 Apotek Norge Online

uten resept i Sverige pris, http://apoteknorgeonline.life/rogaine.html , kjøpe Norge pris.

# s&amp;#228;ljes billigt 2018/01/14 4:43 SVERIGE APOTEK PA NATET

shop malmö, http://apotekvarerpanettet.life/carbozyne.html , lagligt säkert.

# gy&amp;#243;gyszer elad&amp;#243; 2018/01/14 7:41 gyogyszertarban-online

árösszehasonlító gyógyszer, http://gyogyszertarban-online.life/stromectol.html - megvesz recept.

# online shop pris 2018/01/14 8:30 apotek pa natet sverige

billiga generic, http://apotekvarerpanettet.life/femara.html , kostar pris.

# best&amp;#228;lla lagligt priser 2018/01/14 19:18 Apotek Pa Natet Sverige

online shop USA, http://apotekvarerpanettet.life/benicar.html , till salu kostnad.

# kapsler til salgs 2018/01/14 19:41 norge apotek life

pris apotek Sverige København, http://norge-apotek.life/fluoxetine.html , kjøp uten resept Tyskland.

# Generic new zealand 2018/01/14 20:56 safe place to buy online

Non prescription online http://www.andersfray.com/blog/?page_name=hyzaar Order online usa.

# kj&amp;#248;p uten resept nett 2018/01/15 0:46 norgeapotek life

i Sverige uten resept Tyskland, http://norgeapotek.life/capoten.html , kjøp uten resept Norge.

# Cheapest generic canada 2018/01/16 1:03 pills cheap

typical price of http://www.jimsbigthings.com/?page_name=femara buy in singapore.

# Natural new zealand 2018/01/16 7:08 next day delivery

cheap new zealand http://www.noraleduc.com/?page_name=metformin generic usa.

# comprar en farmacias sin receta 2018/01/22 7:26 WWW.GWSISECURITY.COM

Donde conseguir en España http://www.gwsisecurity.com/fig/data/farmacia/destolit.html generica farmacia.

# G&amp;#252;nstig kaufen ohne rezept 2018/01/22 8:11 Samara

handelsnamen osterreich http://samararestoration.com/misc/farbtastic/apotheke/nyzoc.html preis mit rezept.

# comprar venezuela 2018/01/22 13:40 SUPONCREATIVE

Donde puedo comprar generico en mexico http://www.suponcreative.com/clients/gw/image-book/js/farmacia/aramix.html se vende sin receta Peru.

# conseguir sin receta mexico 2018/01/22 13:40 HANDLEDESIGNS.COM

Costo in francia http://handledesigns.com/img/farmacia/sitran.html comprar seguro España.

# Generika online apotheke 2018/01/22 16:25 SERVICES

tabletten bewertung http://www.vedicastrologyservices.com/_fpclass/apotheke/azur.html granulat kosten.

# Generika &amp;#246;sterreich 2018/01/22 17:42 BLAKE

Tabletten wirkungsweise http://blakemarymor.com/DROPBOX/apotheke/sarcop.html Behandeling bestellen.

# donde comprar seguro 2018/01/22 19:42 High Desert Pinto Horse

Pastillas cuanto cuesta en mexico http://highdesertpintohorse.org/machform/data/form_10940/farmacia/liporex.html se puede comprar sin receta en farmacias en Chile.

# se vende sin receta en argentina 2018/01/22 19:43 mdaane

Como comprar sin receta medica http://mdaane.com/images/blogImages/farmacia/misol.html venta sin receta Argentina.

# Generika rezeptfrei &amp;#252;berweisung 2018/01/22 20:46 Carlsbad

apotheke schweiz http://carlsbadridersco.com/shop/media/apotheke/nodon.html antibabypille gunstig kaufen.

# comprar sin receta en tenerife 2018/01/23 1:32 CYPRESS ASSISTANCE

Comprar en estados unidos http://www.cypressassistance.org/wp-content/uploads/2017/04/farmacia/ateplax.html comprar en sevilla.

# por internet chile 2018/01/23 1:32 HARRISON1966.COM

Precio paraguay http://www.harrison1966.com/gallery/farmacia/curam.html comprar seguro por internet.

# Kaufen deutschland paypal 2018/01/23 8:28 SKANSAILCLUB

gunstig online kaufen http://skansailclub.com/sites/default/files/color/apotheke/clobetasol.html online kaufen ohne rezept paypal.

# Deutschland 2018/01/23 9:03 chronovalve.com

rezeptfrei online kaufen http://chronovalve.com/ezg_data/apotheke/thombran.html online kaufen ohne rezept gunstig.

# Rezeptfrei billig 2018/01/23 9:08 Dana X Zheng

gunstig bestellen per nachnahme http://danazheng.com/assets/fonts/apotheke/lanacine.html rezeptfreie alternative.

# Kosten holland 2018/01/23 15:44 Snap Photo

brausetabletten preis http://snapapplephoto.com/oldsite/images/apotheke/captobeta-comp.html online auf rechnung bestellen.

# necesita receta medica 2018/01/23 17:18 Jessica Straus

Puedo comprar sin receta medica en España http://www.jessica-straus.com/system/expressionengine/cache/farmacia/flibanserin.html conseguir sin receta.

# conseguir en ecuador 2018/01/23 22:10 METALNEX.COM

Venta en carabobo http://www.metalnex.com/wp/design/farmacia/carvedil.html hace falta receta para comprar en la farmacia.

# Preiswert online kaufen 2018/01/24 0:21 golfscorecard.net

ohne kreditkarte http://golfscorecard.net/slideshowpro/apotheke/solupred.html Bestellen nederland.

# Tabletten frauen 2018/01/24 1:14 Swiss Air 111

Online kaufen per uberweisung http://www.swissair111.org/ubb2/apotheke/simvastatin.html bijwerkingen tabletten generiek.

# comprar generica en espa&amp;#241;a 2018/01/24 4:14 banglaunited

Comprar online contrareembolso http://www.banglaunited.com/farmacia/bicalutamide.html donde conseguir sin receta.

# Generikum ohne rezept 2018/01/24 9:35 TEPOZTLANVACATIONRENTALS

brausetabletten preis http://tepoztlanvacationrentals.com/llcj/cache/apotheke/lopecia.html Dapoxetin rezeptfrei.

# Ampullen kosten 2018/01/24 9:37 Crossroads Church

in holland kaufen http://www.gocrossroads.net/oldsite/cgi-bin/bk/active_guestbook_backups/apotheke/starlix.html online kaufen per paypal.

# Price comparison usa 2018/02/14 20:00 Generic Pharmacies

pills online uk http://genericpharmacies.review medication price.

# Generic cost australia 2018/02/14 20:39 Medications Online

generic online next day delivery http://medications-online.men buy generic cheap.

# Generic for sale uk 2018/02/15 16:37 medications online

canada for sale http://medicationsonline.men For sale in canada.

# Purchasing online uk 2018/02/17 7:52 ONLINE MEDICATIONS

buy over the counter in australia http://onlinemedications.men/ cheap australia.

# pierce county georgia public records 2018/03/26 22:19 arrest lookup

Pa criminal background checks for employment, http://arrest-lookup.science/educational-background-check-dui-6-years-ago.html york county pa public arrest records.

# hamilton county ohio criminal background check 2018/03/27 0:06 background-checking science

Inmate lookup county jail, http://background-checking.science/government-background-check-company-does-it-take.html oregon attorney general public records manual.

# best pre-employment background checks 2018/03/27 7:46 checks background

Lancaster county court records lincoln nebraska, http://affordable-background-checks.science/obtain-background-check-bill-senate-gun.html united states prison inmate search.

# free arrest records colorado springs 2018/03/27 11:20 check background

Eeoc criminal background discrimination, http://background-check-yourself.science/property-background-check-questions-sample-employee.html search public records in hillsborough county florida.

# arrest records public information 2018/03/28 11:30 background-check-usa

Pre employment background check salary, http://background-check-usa.science/government-criminal-records-richland-county-oh.html fairfield county ct court records search.

# realtor background check minnesota state 2018/03/28 11:38 check background

New york state public records marriage license, http://background-check-tenants.science/inmate-search-by-name-volusia-county-florida-jail.html jacksonville florida criminal records search.

# what to expect in a police background check 2018/03/28 14:19 advance-background-checks.science

Criminal history search in texas, http://advance-background-checks.science/background-check-by-name-how-long-job-in-sap.html search criminal records alberta.

# form for background check ohio free 2018/03/29 7:20 background check tenant science

Buncombe county arrest records online, http://background-check-tenant.science/where-can-i-get-criminal-records-jefferson-county-tx.html free public records search pinellas county.

# background check fees vendors 2018/03/29 10:56 accurate background screening science

Dps computerized criminal history verification form spanish, http://accurate-background-screening.science/how-do-you-tweet-on-someone-else39s-twitter-page.html jackson county north carolina public records search.

# new jersey public records 2018/03/29 19:27 background check accurate

Free criminal background reports, http://accurate-background-checks.science/background-check-investigator-before-offer-california.html prison background check.

# information on someone solar system 2018/03/30 18:17 background-check-site

Free criminal records for arizona, http://background-check-site.science/government-public-records-queens-ny.html warrant check collin county.

# fbi criminal background check status 2018/04/01 20:40 access-background-checks stream

Criminal record report abbreviations, http://access-background-checks.stream public arrest records alabama free.

# best jail inmate search los angeles calif 2018/04/03 20:32 http://access-background-checks.stream

Misdemeanor background check for employment, http://advanced-background-check.science/drug-and-background-check-for-landlords.html pre employment screening deutsche bank.

# GqgMRtXXuRoMQnlZH 2018/06/01 18:17 http://www.suba.me/

qRjmMY I'а?ve read many excellent stuff here. Unquestionably worth bookmarking for revisiting. I surprise how a great deal try you set to create this sort of great informative internet site.

# xVKuIBRwYryH 2018/06/03 14:56 https://goo.gl/vcWGe9

Some truly great info, Gladiolus I detected this.

# VKuAlFPXhsNGVVtBX 2018/06/04 0:10 https://topbestbrand.com/&#3588;&#3619;&am

That is a great tip particularly to those fresh to the blogosphere.

# cQqVIHwFOp 2018/06/04 0:42 https://topbestbrand.com/&#3629;&#3633;&am

Wow, awesome blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your website is wonderful, let alone the content!. Thanks For Your article about &.

# GxxoQpcLvJXW 2018/06/04 5:55 http://narcissenyc.com/

Thanks a lot for the blog.Really looking forward to read more. Great.

# HoDEchyrAQTJqaFqF 2018/06/04 6:27 http://www.seoinvancouver.com/

It as not all on Vince. Folks about him ended up stealing his money. Also when you feel his professional career is more than, you are an idiot.

# IAsDUxWOylNBxhRecj 2018/06/04 12:01 http://www.seoinvancouver.com/

Utterly written subject matter, regards for information.

# vVVaJmDUQJFAOGes 2018/06/04 15:45 http://www.seoinvancouver.com/

Major thanks for the article post. Fantastic.

# sPTAPMoZNTipOdETz 2018/06/04 23:23 http://www.narcissenyc.com/

Spot on with this write-up, I truly feel this site needs a great deal more attention. I all probably be returning to read through more, thanks for the advice!

# cQtbivuJImUXuY 2018/06/05 3:12 http://www.narcissenyc.com/

Spot on with this write-up, I actually believe this site needs far more attention. I all probably be returning to see more, thanks for the advice!

# nWSMSikZVGXBebZtOM 2018/06/05 7:01 http://www.narcissenyc.com/

You could certainly see your expertise within the work you write. The arena hopes for more passionate writers like you who are not afraid to say how they believe. At all times go after your heart.

# AqBvczqMsONvgTFxH 2018/06/05 8:56 http://seovancouver.net/

Thanks so much for the article post.Really looking forward to read more. Great.

# kilRlXDpNyPONum 2018/06/05 16:28 http://vancouverdispensary.net/

It as not that I want to copy your internet site, but I really like the design. Could you tell me which theme are you using? Or was it especially designed?

# UiJWEvYpSiQbWeC 2018/06/05 18:21 http://vancouverdispensary.net/

Very good info. Lucky me I discovered your website by chance (stumbleupon). I have book-marked it for later!

# XNmoGOTGiLz 2018/06/05 20:17 http://vancouverdispensary.net/

I was recommended this web site by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You are wonderful! Thanks!

# rHUhOnIzIiOSB 2018/06/06 0:23 https://www.youtube.com/watch?v=zetV8p7HXC8

Thanks for the blog post.Thanks Again. Want more.

# dmYOZWENkgNBPxPFoo 2018/06/08 18:49 https://topbestbrand.com/&#3605;&#3585;&am

There is definately a great deal to learn about this topic. I really like all the points you ave made.

# EXqeuHMPXgmxiujs 2018/06/08 20:45 https://www.youtube.com/watch?v=3PoV-kSYSrs

Perfectly composed content , thanks for entropy.

# DKmQPAGCcYizaxNE 2018/06/08 23:47 https://www.hanginwithshow.com

This web site really has all the information and facts I wanted concerning this subject and didn at know who to ask.

# aRlCXdNhSRgRZtOmjZ 2018/06/09 4:11 https://topbestbrand.com/&#3626;&#3636;&am

Thanks-a-mundo for the article post.Much thanks again. Fantastic.

# kdVKkJvxjKNax 2018/06/09 5:21 http://en.wiki.lesgrandsvoisins.fr/index.php?title

It as fantastic that you are getting ideas from this paragraph as well as from our dialogue made here.

# eiJIsbcSJLNrkLzdNco 2018/06/09 10:24 http://www.seoinvancouver.com/

Muchos Gracias for your article post.Much thanks again. Great.

# UsCqgrSTSjEqMB 2018/06/09 12:21 https://greencounter.ca/

Im obliged for the post.Thanks Again. Fantastic.

# eWTKDlMxqlm 2018/06/09 18:02 http://www.seoinvancouver.com/

It as nearly impossible to find educated people on this subject, but you seem like you know what you are talking about! Thanks

# RisLTCCbWUkKOBzMD 2018/06/09 21:55 http://surreyseo.net

Thanks for great article. I read it with big pleasure. I look forward to the next article.

# bDCBSbWlEHktTZy 2018/06/09 23:50 http://www.seoinvancouver.com/

visit this website and be up to date everyday.

# WqGnYKmVJHNICFQLf 2018/06/10 1:44 http://iamtechsolutions.com/

Perfectly written subject matter, regards for information. Life is God as novel. Allow him to write it. by Isaac Bashevis Singer.

# CwxAvobstfxhGqMhWd 2018/06/10 11:49 https://topbestbrand.com/&#3648;&#3626;&am

Wow, fantastic blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your website is fantastic, let alone the content!

# TWJGLnpSbfQIkhApjS 2018/06/10 12:25 https://topbestbrand.com/&#3624;&#3641;&am

My dream retirement involves traveling domestically and internationally to perform on environmental causes.

# REodfKWoEIoBYNaDW 2018/06/11 18:11 https://topbestbrand.com/10-&#3623;&#3636;

Its hard to find good help I am regularly proclaiming that its difficult to procure good help, but here is

# JBUyUnBNTrZgQV 2018/06/11 18:46 https://topbestbrand.com/&#3607;&#3633;&am

Some truly prime articles on this web site , bookmarked.

# rSmxJrMkmJ 2018/06/11 19:22 https://tipsonblogging.com/2018/02/how-to-find-low

pretty handy stuff, overall I think this is worth a bookmark, thanks

# hEMwtqztDFcYsOt 2018/06/12 22:45 http://naturalattractionsalon.com/

Really appreciate you sharing this article post.Thanks Again.

# onhsfdCCvbEZ 2018/06/13 0:44 http://naturalattractionsalon.com/

Looking forward to reading more. Great post.Really looking forward to read more. Great.

# ByDYLODEuUSpz 2018/06/13 2:42 http://www.seoinvancouver.com/

Really appreciate you sharing this blog.Thanks Again. Really Great.

# jGXonOunwbpSfCA 2018/06/13 6:39 http://www.seoinvancouver.com/

Only a smiling visitor here to share the love (:, btw outstanding style.

# bDQSiemMEYBtFcXt 2018/06/13 9:22 http://www.seoinvancouver.com/

Very good article. I absolutely love this website. Thanks!

# kKxLIIYwsSSVCDQDhfH 2018/06/13 15:09 http://www.seoinvancouver.com/

Simply a smiling visitor here to share the love (:, btw outstanding design.

# MBoKtvZllZWqhIyE 2018/06/13 17:54 http://hairsalonvictoriabc.com

pretty handy material, overall I feel this is worth a bookmark, thanks

# JVjAvSzcot 2018/06/13 19:51 http://hairsalonvictoriabc.ca

Very good blog post. I definitely love this site. Stick with it!

# fbargCQoGhuZfyoD 2018/06/14 0:27 https://topbestbrand.com/&#3605;&#3585;&am

There is definately a lot to learn about this topic. I love all of the points you have made.

# jLNaKVdVLhBeOkTrSmC 2018/06/14 1:07 https://topbestbrand.com/&#3650;&#3619;&am

I think this is a real great blog post.Thanks Again. Fantastic.

# SaCGEEeUXFjAdIDSg 2018/06/14 1:44 http://markets.financialcontent.com/mng-sltrib/new

You made some good points there. I looked on the internet for the subject and found most individuals will consent with your website.

# YUkAMHQRUgwaUrX 2018/06/15 2:18 https://www.youtube.com/watch?v=cY_mYj0DTXg

We are a group of volunteers and opening a new scheme in our community.

# FERMEJXefrSpbSELSaJ 2018/06/15 22:52 http://hairsalonvictoriabc.com

This blog is really cool and besides diverting. I have picked many useful tips out of this source. I ad love to come back again soon. Thanks a bunch!

# VyEvOxzjcyViNcfsvJ 2018/06/16 6:46 http://kitchenaccessories38272.pointblog.net/kitch

Wow! This could be one particular of the most useful blogs We have ever arrive across on this subject. Basically Fantastic. I am also an expert in this topic therefore I can understand your effort.

# XmTCIHCsEA 2018/06/18 13:26 https://www.youtube.com/watch?v=zetV8p7HXC8

This unique blog is no doubt entertaining and besides diverting. I have found many useful advices out of this amazing blog. I ad love to go back over and over again. Cheers!

# PVIzyFprbzVdaLf 2018/06/18 17:25 https://topbestbrand.com/&#3593;&#3637;&am

This is a topic that is close to my heart Many thanks! Exactly where are your contact details though?

# YdoMitsQXVy 2018/06/19 0:50 http://all4webs.com/jimmie1/home.htm?13564=53241

Thanks-a-mundo for the article post. Much obliged.

# tulRZYjDME 2018/06/19 2:13 http://pczoom1.simplesite.com/

or understanding more. Thanks for wonderful information I was looking for this information for my mission.

# kRUsZubxHFqfLBzD 2018/06/19 3:36 https://500px.com/wannow

My spouse and I stumbled over here from a different page and thought I might as well check things out. I like what I see so i am just following you. Look forward to going over your web page again.

# kaDdYkoEwoIhc 2018/06/19 4:58 http://aarontech.emyspot.com/

The website loading speed is incredible. It seems that you are doing any distinctive trick.

# JxETRQsNNakxhoRb 2018/06/19 5:39 http://www.imfaceplate.com/TomHale/download-uktvno

Pretty! This was an incredibly wonderful article. Thanks for supplying this info.

# ykfbotaPcJJ 2018/06/19 6:22 https://www.intensedebate.com/people/wiford1

Thanks again for the post. Keep writing.

# feBcjToBIIaXqYsrfb 2018/06/19 7:01 https://www.graphicallyspeaking.ca/

unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this increase.

# osTRAfftMuZz 2018/06/19 9:03 https://www.graphicallyspeaking.ca/

Spot on with this write-up, I absolutely feel this site needs a lot more attention. I all probably be returning to read through more, thanks for the info!

# houFbqwSmHYEVP 2018/06/19 11:03 https://www.graphicallyspeaking.ca/

Major thanks for the blog.Really looking forward to read more. Much obliged.

# uReBdMmbsBWRIyqZ 2018/06/19 11:43 https://www.graphicallyspeaking.ca/

This excellent website definitely has all the information and facts I needed abo

# pAezBUKwbPucZvE 2018/06/19 13:41 https://www.graphicallyspeaking.ca/

Thanks for one as marvelous posting! I quite enjoyed reading it,

# btOwOMaPYt 2018/06/19 21:12 https://www.guaranteedseo.com/

wonderful points altogether, you simply won a new reader. What may you recommend in regards to your publish that you made a few days in the past? Any positive?

# PFtilwhcMScHbxSKLc 2018/06/19 21:53 https://www.marwickmarketing.com/

Just what I was looking for, regards for posting.

# vRkCHQoTbFlkiPRPx 2018/06/21 21:05 http://www.love-sites.com/hot-russian-mail-order-b

Spot on with this write-up, I absolutely feel this site needs a lot more attention. I all probably be back again to read more, thanks for the information!

# xwsQCMZHYudTgWvaYyx 2018/06/22 17:09 https://womensclothes07.wixsite.com/womenclothes

It as difficult to find knowledgeable people for this subject, but you seem like you know what you are talking about! Thanks

# WdZEPvAqvwMC 2018/06/22 17:51 https://dealsprimeday.com/

Thanks so much for the article post.Much thanks again. Want more.

# ufFXVJrJrqIMt 2018/06/22 18:33 https://www.youtube.com/watch?v=vBbDkasNnHo

This blog was how do you say it? Relevant!! Finally I have found something that helped me. Appreciate it!

# MVdSAiVELtTmeE 2018/06/22 19:14 https://www.minds.com/blog/view/829933928460308480

together considerably far more and a lot more typical and it may very well be primarily an extension of on the internet courting

# TYJodbFnKakAAjpiY 2018/06/22 19:57 https://best-garage-guys-renton.business.site

Preceding to you choose to create your own checklist to add an idea linked with what camping checklist ought to. Actually A listing can be better than what you need.

# vtUXMBNwEUqwXfvhXEs 2018/06/24 14:57 http://www.seatoskykiteboarding.com/

These are in fact wonderful ideas in on the topic of blogging. You have touched some pleasant things here. Any way keep up wrinting.

# CkqyuGvXwpURONT 2018/06/24 17:42 http://iamtechsolutions.com/

I think that what you published made a ton of sense. However,

# IhYOqPMvhteEctghC 2018/06/24 21:48 http://www.seatoskykiteboarding.com/

I'а?ll immediately snatch your rss feed as I can not to find your email subscription link or newsletter service. Do you have any? Kindly permit me recognise so that I may subscribe. Thanks.

# xMcpWZJWWOWdQMj 2018/06/25 10:03 http://www.seatoskykiteboarding.com/

This particular blog is without a doubt entertaining and also factual. I have found many useful stuff out of this amazing blog. I ad love to visit it again soon. Thanks!

# WEBBHobaoG 2018/06/25 22:26 http://www.seoinvancouver.com/

You have brought up a very good details , appreciate it for the post.

# FWWjQSqKRTpyY 2018/06/26 1:13 http://www.seoinvancouver.com/index.php/seo-servic

This blog is obviously cool additionally informative. I have chosen a bunch of useful stuff out of this blog. I ad love to return every once in a while. Thanks a lot!

# gqFfVOJijKIfGcHZ 2018/06/26 5:23 http://www.seoinvancouver.com/index.php/seo-servic

You made some really good points there. I checked on the web for more info about the issue and found most individuals will go along with your views on this website.

# LOVTuuyUhvHFj 2018/06/26 20:05 http://www.seoinvancouver.com/

just me or do some of the comments look like they are

# UYNtLcXblOnJ 2018/06/27 1:02 https://www.jigsawconferences.co.uk/case-study

What as up mates, how is the whole thing, and what you wish

# CTAKXtKyDG 2018/06/27 4:34 https://topbestbrand.com/&#3588;&#3621;&am

picked up something new from right here. I did however expertise a few technical points using this web site, since I experienced to reload the site many times previous to I could

# SlffvxmOscajbhEDM 2018/06/27 8:04 https://www.rkcarsales.co.uk/

Morbi molestie fermentum sem quis ultricies

# NIYjdHRdyyD 2018/06/27 17:25 https://www.jigsawconferences.co.uk/case-study

I truly appreciate this blog post.Thanks Again. Keep writing.

# HBNOQWbtaArDMvUAJt 2018/06/28 22:37 http://shawnstrok-interiordesign.com

it is part of it. With a boy, you will have

# PJsgBOUTtcgZ 2018/07/01 0:52 https://www.youtube.com/watch?v=2C609DfIu74

This paragraph provides clear idea designed for the new visitors of blogging, that in fact how to do running a blog.

# pLiqYjKRkQj 2018/07/03 4:17 http://julio4619ki.recmydream.com/a-capital-refers

on several of your posts. Many of them are rife with spelling problems and I to find it very troublesome to inform the reality on the

# nLCdWkFKTGZDoszsO 2018/07/03 20:27 http://www.seoinvancouver.com/

I will immediately seize your rss feed as I can not in finding your email subscription link or newsletter service. Do you ave any? Kindly permit me know so that I may subscribe. Thanks.

# XqaYkRBwDQDloMHAE 2018/07/03 23:54 http://www.seoinvancouver.com/

Its hard to find good help I am forever saying that its difficult to procure good help, but here is

# StfANsFdWYLQ 2018/07/04 2:19 http://www.seoinvancouver.com/

visit this website What is the best blogging platform for a podcast or a video blog?

# BxoXSZLLPimOtKgRsb 2018/07/04 4:42 http://www.seoinvancouver.com/

Thanks for helping out, superb information. Our individual lives cannot, generally, be works of art unless the social order is also. by Charles Horton Cooley.

# QLVjQRTHtmSNAGtqMz 2018/07/04 9:26 http://www.seoinvancouver.com/

Terrific work! This is the type of info that should be shared around the net. Shame on Google for not positioning this post higher! Come on over and visit my web site. Thanks =)

# ViuKObJdgfOmTPGyj 2018/07/04 16:42 http://www.seoinvancouver.com/

Wonderful post! We will be linking to this great content on our site. Keep up the good writing.

# boFvgeYulSJkKTHC 2018/07/04 19:10 http://www.seoinvancouver.com/

Really informative blog article. Fantastic.

# eBXpjqcjIyIbtlCCWYC 2018/07/05 0:06 http://www.seoinvancouver.com/

of course we of course we need to know our family history so that we can share it to our kids a

# FXRvJFGPPiuIy 2018/07/05 2:32 http://www.seoinvancouver.com/

Pink your website post and cherished it. Have you at any time imagined about guest putting up on other relevant weblogs comparable to your website?

# fyWabGLjyjiHZ 2018/07/05 13:14 http://www.seoinvancouver.com/

magnificent issues altogether, you just received a new reader. What would you recommend in regards to your submit that you just made some days ago? Any certain?

# fRDBtEqigSThvkYho 2018/07/05 15:41 http://www.seoinvancouver.com/

pretty helpful stuff, overall I believe this is well worth a bookmark, thanks

# roygqIiPoUz 2018/07/05 18:09 http://www.seoinvancouver.com/

It cаА а?а?n bаА а?а? seeen and ju?ged only by watching the

# SMEJLetHDD 2018/07/06 1:38 http://www.seoinvancouver.com/

You know that children are growing up when they start asking questions that have answers..

# GDduSAenJREZSpw 2018/07/06 4:05 http://www.seoinvancouver.com/

Your style is so unique compared to other people I ave read stuff from. I appreciate you for posting when you have the opportunity, Guess I will just book mark this web site.

# xAeptMSSZCeVIJA 2018/07/07 0:51 http://www.seoinvancouver.com/

Wow, awesome blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your web site is magnificent, let alone the content!

# ZyPjiEPzmBLAlgtUT 2018/07/07 15:42 http://www.seoinvancouver.com/

Your home is valueble for me personally. Thanks!

# ixYTGLNDmGyLIDfiX 2018/07/09 15:08 http://terryshoagies.com/panduan-cara-daftar-sbobe

Wohh precisely what I was searching for, regards for posting.

# XinHZsbnUjehpx 2018/07/09 17:42 http://bestretroshoes.com/2018/06/28/agen-sbobet-d

I will right away seize your rss as I can at find your e-mail subscription hyperlink or e-newsletter service. Do you ave any? Kindly let me know in order that I could subscribe. Thanks.

# mCSLrTtqtFhiiskbv 2018/07/09 21:19 http://eukallos.edu.ba/

Im obliged for the article.Really looking forward to read more. Keep writing.

# fyTtUNMGoINbBRvREa 2018/07/09 23:55 https://eubd.edu.ba/

Somewhere in the Internet I have already read almost the same selection of information, but anyway thanks!!

# TRSdRCbAfA 2018/07/10 2:28 http://www.singaporemartialarts.com/

I really liked your post.Thanks Again. Want more.

# noQOuSMtqjw 2018/07/10 8:33 http://propcgame.com/download-free-games/android-g

Louis Rams on Saturday in San Diego, as he led the Seahawks to a winning season and for the year.

# jclNpmbcmOsvS 2018/07/10 11:09 http://propcgame.com/download-free-games/business-

You made some decent points there. I looked on the net for more information about the issue and found most people will go along with your views on this website.

# PfbDJeJHPiuERIHUnH 2018/07/10 19:02 http://www.seoinvancouver.com/

I truly appreciate this blog article. Fantastic.

# kgbiGkfbFstZzHtvWBh 2018/07/11 5:31 http://www.seoinvancouver.com/

This post post created me feel. I will write something about this on my blog. aаАа?б?Т€Т?а?а?аАТ?а?а?

# QZpHAXsviLaZJPtykEp 2018/07/11 8:03 http://www.seoinvancouver.com/

There as definately a lot to learn about this subject. I really like all of the points you made.

# aXvVkIdxed 2018/07/11 10:37 http://www.seoinvancouver.com/

Wow, superb blog structure! How lengthy have you been blogging for? you made blogging glance easy. The whole glance of your web site is great, let alone the content!

# sSkSJJYdRaOq 2018/07/11 13:11 http://www.seoinvancouver.com/

since you most certainly possess the gift.

# JKwuFiBwfbFOc 2018/07/11 15:45 http://www.seoinvancouver.com/

Wonderful goods from you, man. I have take

# vLkqEoWLNd 2018/07/11 18:22 http://www.seoinvancouver.com/

There is definately a great deal to know about this issue. I really like all of the points you have made.

# dRhwrsiBYs 2018/07/12 10:57 http://www.seoinvancouver.com/

You can definitely see your enthusiasm in the work you write. The world hopes for more passionate writers like you who are not afraid to say how they believe. Always go after your heart.

# zoGbgjBmLQ 2018/07/12 21:17 http://www.seoinvancouver.com/

Wow that was unusual. I just wrote an really long comment but after I clicked submit my comment didn at show up. Grrrr well I am not writing all that over again. Anyway, just wanted to say great blog!

# HyNMFzQXCGhEXXw 2018/07/13 2:32 http://www.seoinvancouver.com/

Some really choice blog posts on this site, saved to my bookmarks.

# pUaucFjAiaQsLEmg 2018/07/13 5:07 http://www.seoinvancouver.com/

Perch, my favourite species Hook Line Bid Blog

# evJLYDFoto 2018/07/13 10:17 http://www.seoinvancouver.com/

Yours is a prime example of informative writing. I think my students could learn a lot from your writing style and your content. I may share this article with them.

# KupAXYVxvaFBIQIPM 2018/07/13 12:51 http://www.seoinvancouver.com/

This excellent website definitely has all the information and facts I needed concerning this subject and didn at know who to ask.

# nOAMXxxcmeXqwjDv 2018/07/14 15:04 http://sandrahardy.blogkoo.com/easiest-way-to-trea

There are many fundraising products for many good causes,

# jKJibcgMXsSjdVDm 2018/07/15 8:21 http://merinteg.com/blog/view/13244/a-great-help-f

Im obliged for the blog article.Really looking forward to read more. Great.

# KjfHRtzmdyiaes 2018/07/16 14:51 http://estrellahenson.xtgem.com/__xt_blog/__xtblog

This website certainly has all of the information and facts I wanted about this subject and didn at know who to ask.

# pLqbqqyeHS 2018/07/16 19:22 https://mckinleysolis.phpground.net/2018/07/12/bes

Real clear internet site, thanks for this post.

# qAzTpCWpeeqqaqPlC 2018/07/17 6:31 http://angelofischer.mybjjblog.com/stimulate-your-

Recently, Washington State Police arrested cheap jersey quarterback Josh Portis on suspicion of driving

# nJzVpAWepTBA 2018/07/17 15:11 http://www.seoinvancouver.com/

The top and clear News and why it means a lot.

# DWLjsNkfiWxAT 2018/07/17 20:29 http://www.ledshoes.us.com/diajukan-pinjaman-penye

Terrific work! This is the type of information that should be shared around the web. Shame on the search engines for not positioning this post higher! Come on over and visit my site. Thanks =)

# OucchjTBLhyFw 2018/07/18 0:09 https://topbestbrand.com/&#3650;&#3619;&am

This particular blog is without a doubt entertaining and also factual. I have found many useful stuff out of this amazing blog. I ad love to visit it again soon. Thanks!

# LvkutiqjTKxG 2018/07/18 2:50 http://www.visevi.it/index.php?option=com_k2&v

Woh I like your articles , saved to favorites !.

# nMVNSdrIhxNLdYpuGhP 2018/07/18 8:11 http://googlebookmarking.com/story.php?title=for-m

pretty valuable material, overall I consider this is worth a bookmark, thanks

タイトル  
名前  
Url
コメント