不負責任講座 Silverlight 3.0 #5,自訂日曆控制項(Calendar)的日期--個人行事曆

摘要:不負責任講座 Silverlight 3.0 #5,自訂日曆控制項(Calendar)的日期--個人行事曆

Silverlight banner

要查詢相關的控制項與用法,可以到官方網站 http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx

 

這個範例只是把以前的範例,[習題]自訂ASP.NET日曆控制項(Calendar)的日期--個人行事曆

修改成 Silverlight版而已。

但有些程式需要小幅修改。

 

之前沒有安裝 Expression Blend 3,實在很不好工作。現在就簡單多了。

強烈建議:初學者先裝了再說!

 

XAML檔內容如下:

01 <UserControl
02  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
03  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
04  xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input" xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
05  x:Class="SilverlightApplication1.MainPage"
06  Width="640" Height="480" mc:Ignorable="d">
07  
08  <Grid x:Name="LayoutRoot" Background="White">
09      <Button x:Name="Button1" HorizontalAlignment="Left" Margin="256,51,0,0" VerticalAlignment="Top" Width="100" Content="Button_Hello" Click="Button1_Click"/>
10      <TextBox x:Name="TextBox1" HorizontalAlignment="Left" Margin="64,49,0,0" VerticalAlignment="Top" Width="180" Text="TextBox" TextWrapping="Wrap"/>
11      <controls:Calendar x:Name="Calendar1" Margin="64,124,0,187" d:LayoutOverrides="Height" HorizontalAlignment="Left" SelectedDatesChanged="Calendar1_SelectedDatesChanged" Loaded="Calendar1_Load"/>
12      <Button x:Name="Button2" Margin="256,0,250,187" VerticalAlignment="Bottom" Content="Button_DefaultDate" Click="Button2_Click"/>
13  </Grid>
14 </UserControl>

 

Blend 3要撰寫控制項的相關事件時,作法跟 C#很像,

必須在屬性視窗那邊,找一下「事件」視窗,如此方可出現控制項的相關事件。

習慣使用 VB的人,請留意一下。

     

 

 

後製程式碼,有兩個功能:

 Private Sub Button2_Click(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
  Calendar1.SelectedDates.Clear()
  Calendar1.SelectionMode = CalendarSelectionMode.MultipleRange
  '--必須先啟動多重日期選取模式,才能添加多個日期
  
            Calendar1.SelectedDates.Add(New DateTime(2009, 9, 1))
   Calendar1.SelectedDates.Add(New DateTime(2009, 9, 5))
      Calendar1.SelectedDates.Add(New DateTime(2009, 9, 10))
         Calendar1.SelectedDates.Add(New DateTime(2009, 9, 15))
      Calendar1.SelectedDates.Add(New DateTime(2009, 9, 20))
   Calendar1.SelectedDates.Add(New DateTime(2009, 9, 25))
   Calendar1.SelectedDates.Add(New DateTime(2009, 9, 30))
 End Sub

如果少了前面那兩行,永遠就只有2009/9/1會被標記起來,其他日期都看不見。

執行結果如下:

......................................................................................................................................................................

另外一個功能,事先載入日期

這在撰寫行事曆上面,非常有用。  您一定是從資料庫撈出日期,然後在日曆上作標記來提醒使用者。

 Private Sub Calendar1_Load(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
  Calendar1.SelectedDates.Clear()
  Calendar1.SelectionMode = CalendarSelectionMode.MultipleRange
  '--必須先啟動多重日期選取模式,才能添加多個日期
  
  Dim a_date as DateTime = New DateTime(2009, 9, 25)
  Dim b_date as DateTime = New DateTime(2009, 9, 30)
     Calendar1.SelectedDates.AddRange(a_date, b_date)
 End Sub

如果少了前面那兩行,永遠就只有2009/9/25會被標記起來,其他日期都看不見。

執行結果如下:

 

資料來源:http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約 51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約 135hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.tw  或  school (at) mis2000lab.net

 (1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A 

 (2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I 

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm  。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b  


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

.........   facebook社團   https://www.facebook.com/mis2000lab   ......................

.........  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)。

...................................................................................................................................................... 

ASP.NET MVC  => .NET Core MVC 線上教學  ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講   事先錄好的影片,並非上課側錄!   觀看時,有如「一對一」面對面講課