mario.deghetto

Visual Basic & .NET
posts - 332, comments - 79, trackbacks - 0

WPF - Il controllo Calendar

Questo testo fa parte del capitolo 27 del libro “Visual Basic 2010 spiegato a mia nonna” che sarà pubblicato fra poche settimane. Trovate l’esempio di codice tra gli esempi liberamente scaricabili al seguente indirizzo:http://deghetto.wordpress.com/2011/02/05/libro-visual-basic-2010-spiegato-a-mia-nonna/

Il controllo Calendar permette di visualizzare un calendario mensile, annuale oppure decennale, in base all'impostazione della proprietà DisplayMode, rispettivamente a Month, Year e Decade.

27.33

La definizione XAML predefinita (in modalità Month) è la seguente:

   1: <Calendar 
   2:   Height="170" 
   3:   HorizontalAlignment="Left" 
   4:   Margin="10,10,0,0" 
   5:   Name="Calendar1" 
   6:   VerticalAlignment="Top" 
   7:   Width="180" />

Il seguente esempio chiarirà alcuni aspetti sull'uso del controllo Calendar. Create una nuova applicazione WPF e poi:

1. aggiungete un controllo Calendar e uno di tipo TextBox;

2. modificate la proprietà SelectionMode del controllo Calendar e impostatelo a SingleRange.

In alternativa, modificate il codice XAML come segue:

<Window x:Class="MainWindow"
    xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="264" Width="295">
    <Grid Height="225" Width="226">
    <Calendar Height="170"
      HorizontalAlignment="Left"
      Margin="10,10,0,0"
      Name="Calendar1"
      VerticalAlignment="Top"
      Width="208"
      SelectionMode="SingleRange" />
    <TextBlock Height="23"
      HorizontalAlignment="Left"
      Margin="10,190,0,0"
      Name="TextBlock1"
      Text="TextBlock"
      VerticalAlignment="Top"
      Width="208"
      TextAlignment="Center" />
  </Grid>
</Window>

Infine, sostituite il codice Visual Basic con il seguente:

Class MainWindow
  Private Sub Calendar1_SelectedDatesChanged(
      ByVal sender As System.Object,
      ByVal e As System.Windows.Controls.SelectionChangedEventArgs) _
      Handles Calendar1.SelectedDatesChanged
    Me.TextBlock1.Text =
      "Selezionato " &
      Me.Calendar1.SelectedDates.First & "-" &
      Me.Calendar1.SelectedDates.Last
  End Sub
End Class

Il risultato è visibile nella seguente figura. Notate che con la modifica della proprietà SelectionMode del controllo Calendar è possibile selezionare un intervallo di date anziché una data sola.

27.34

Print | posted on domenica 3 aprile 2011 15.09 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 5 and 8 and type the answer here:

Powered by: