This project is read-only.


WindowsPhoneListBoxWithCheckBoxes is really simple to use.

First, include the WindowsPhoneListBOxWithCheckBoxesControl.dll in your project.

In your XAML page, add the my namespace for WindowsPhoneListBoxWithCheckBoxesControl like in the example below:

 <phone:PhoneApplicationPage 
    x:Class="ListBoxWthCheckBoxesExample.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    d:DataContext="{d:DesignData SampleData/ViewModelSampleData.xaml}"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
    shell:SystemTray.IsVisible="True" 
    xmlns:my="clr-namespace:System.Windows.Controls;assembly=WindowsPhoneListBoxWithCheckBoxesControl">

   <!-- Your page -->

</phone:PhoneApplicationPage>

Then, you can add the control, like this:

<my:ListBoxWithCheckBoxes Name="listBoxWithCheckBoxes" Margin="0,0,0,0" ItemsSource="{Binding SimpleModels}">
   <ListBox.ItemTemplate>
      <DataTemplate>
         <StackPanel Orientation="Horizontal" Margin="0,0,0,0">
            <Rectangle Height="100" Width="100" Fill="#FFE5001b" Margin="12,0,9,0"/>
            <StackPanel>
               <TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}"/>
               <TextBlock Text="{Binding Description}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
            </StackPanel>
         </StackPanel>
      </DataTemplate>
   </ListBox.ItemTemplate>
</my:ListBoxWithCheckBoxes>

To change the state between NormalState and ChooseState, simply set the IsInChooseState property:

// ChooseState
this.listBoxWithCheckBoxes.IsInChooseState = true;

// NormalState
this.listBoxWithCheckBoxes.IsInChooseState = false;

If you want to access the selected items, simply invoke the regular ListBox SelectedItems property:

 

foreach(Item anItem in this.listBoxWithCheckBoxes.SelectedItems) {
   // Do stuff
}

 

Voila!

Last edited Mar 26, 2011 at 5:05 PM by arclightpsx, version 9

Comments

No comments yet.