Browse Source

added DropDownButton, ButtonSpinner, and SplitButton examples to the Sample application

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
31bf9c79cd
  1. 8
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/BusyIndicatorModule.cs
  2. 14
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/NavigationItems/BusyIndicatorNavItem.xaml
  3. 16
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/NavigationItems/BusyIndicatorNavItem.xaml.cs
  4. 42
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Resources/Common.xaml
  5. 30
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Samples.Modules.BusyIndicator.csproj
  6. 63
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentTemplateView.xaml
  7. 18
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentTemplateView.xaml.cs
  8. 41
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentView.xaml
  9. 18
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentView.xaml.cs
  10. 59
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorView.xaml
  11. 6
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorView.xaml.cs
  12. 142
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/HomeView.xaml
  13. 12
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/NavigationView.xaml
  14. 27
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/NavigationView.xaml.cs
  15. 7
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/ButtonModule.cs
  16. 12
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/ButtonSpinnerNavItem.xaml
  17. 16
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/ButtonSpinnerNavItem.xaml.cs
  18. 12
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/DropDownButtonNavItem.xaml
  19. 16
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/DropDownButtonNavItem.xaml.cs
  20. 12
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/SplitButtonNavItem.xaml
  21. 16
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/SplitButtonNavItem.xaml.cs
  22. 30
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Samples.Modules.Button.csproj
  23. 48
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/ButtonSpinnerView.xaml
  24. 22
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/ButtonSpinnerView.xaml.cs
  25. 51
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/DropDownButtonView.xaml
  26. 28
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/DropDownButtonView.xaml.cs
  27. 9
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/HomeView.xaml
  28. 18
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/HomeView.xaml.cs
  29. 15
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/NavigationView.xaml
  30. 16
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/NavigationView.xaml.cs
  31. 40
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/SplitButtonView.xaml
  32. 10
      ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/SplitButtonView.xaml.cs
  33. 5
      ExtendedWPFToolkitSolution/Src/Samples/Samples/Shell.xaml
  34. 8
      ExtendedWPFToolkitSolution/Src/Samples/Samples/Shell.xaml.cs

8
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/BusyIndicatorModule.cs

@ -3,6 +3,8 @@ using Samples.Infrastructure;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Prism.Regions;
using Samples.Infrastructure.Extensions;
using Samples.Modules.BusyIndicator.NavigationItems;
using Samples.Modules.BusyIndicator.Views;
namespace Samples.Modules.BusyIndicator
{
@ -15,12 +17,14 @@ namespace Samples.Modules.BusyIndicator
protected override void RegisterViewsAndTypes()
{
Container.RegisterNavigationType(typeof(HomeView));
Container.RegisterNavigationType(typeof(BusyIndicatorView));
Container.RegisterNavigationType(typeof(BusyIndicatorCustomContentView));
Container.RegisterNavigationType(typeof(BusyIndicatorCustomContentTemplateView));
}
protected override void InitializeModule()
{
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(NavigationView));
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(BusyIndicatorNavItem));
}
}
}

14
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/NavigationItems/BusyIndicatorNavItem.xaml

@ -0,0 +1,14 @@
<TreeViewItem x:Class="Samples.Modules.BusyIndicator.NavigationItems.BusyIndicatorNavItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:navItems="clr-namespace:Samples.Modules.BusyIndicator.NavigationItems"
xmlns:views="clr-namespace:Samples.Modules.BusyIndicator.Views"
Header="BusyIndicator" Tag="{x:Type views:BusyIndicatorView}">
<TreeViewItem.Resources>
<Style TargetType="navItems:BusyIndicatorNavItem" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
<TreeViewItem Header="Custom Content" Tag="{x:Type views:BusyIndicatorCustomContentView}" />
<TreeViewItem Header="Custom Content Template" Tag="{x:Type views:BusyIndicatorCustomContentTemplateView}" />
</TreeViewItem>

16
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/NavigationItems/BusyIndicatorNavItem.xaml.cs

@ -0,0 +1,16 @@
using System;
using System.Windows.Controls;
namespace Samples.Modules.BusyIndicator.NavigationItems
{
/// <summary>
/// Interaction logic for BusyIndicatorNavItem.xaml
/// </summary>
public partial class BusyIndicatorNavItem : TreeViewItem
{
public BusyIndicatorNavItem()
{
InitializeComponent();
}
}
}

42
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Resources/Common.xaml

@ -0,0 +1,42 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended">
<DataTemplate x:Key="SampleContent" >
<Grid Margin="10" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="First Name:" Margin="2" VerticalAlignment="Center" />
<extToolkit:WatermarkTextBox Grid.Row="0" Grid.Column="1" Margin="2" VerticalAlignment="Center" Watermark="Enter First Name" />
<TextBlock Grid.Row="1" Text="Last Name:" Margin="2" VerticalAlignment="Center" />
<extToolkit:WatermarkTextBox Grid.Row="1" Grid.Column="1" Margin="2" VerticalAlignment="Center" Watermark="Enter Last Name" />
<TextBlock Grid.Row="2" Text="Date of Birth:" Margin="2" VerticalAlignment="Center" />
<extToolkit:DateTimeUpDown Grid.Row="2" Grid.Column="1" Format="ShortDate" Margin="2" VerticalAlignment="Center" Watermark="Enter Date of Birth" />
<TextBlock Grid.Row="3" Text="Salary:" Margin="2" VerticalAlignment="Center" />
<extToolkit:IntegerUpDown Grid.Row="3" Grid.Column="1" FormatString="C2" Margin="2" VerticalAlignment="Center" Watermark="Enter Salary" />
<TextBlock Grid.Row="4" Text="Favorite Color:" Margin="2" VerticalAlignment="Center" />
<extToolkit:ColorPicker Grid.Row="4" Grid.Column="1" Margin="2" VerticalAlignment="Center" />
<StackPanel Grid.Row="5" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,10,0,0">
<Button Width="65" Margin="2">OK</Button>
<Button Width="65" Margin="2">Cancel</Button>
</StackPanel>
</Grid>
</DataTemplate>
</ResourceDictionary>

30
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Samples.Modules.BusyIndicator.csproj

@ -59,11 +59,17 @@
</ItemGroup>
<ItemGroup>
<Compile Include="BusyIndicatorModule.cs" />
<Compile Include="Views\HomeView.xaml.cs">
<DependentUpon>HomeView.xaml</DependentUpon>
<Compile Include="NavigationItems\BusyIndicatorNavItem.xaml.cs">
<DependentUpon>BusyIndicatorNavItem.xaml</DependentUpon>
</Compile>
<Compile Include="Views\NavigationView.xaml.cs">
<DependentUpon>NavigationView.xaml</DependentUpon>
<Compile Include="Views\BusyIndicatorCustomContentTemplateView.xaml.cs">
<DependentUpon>BusyIndicatorCustomContentTemplateView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\BusyIndicatorCustomContentView.xaml.cs">
<DependentUpon>BusyIndicatorCustomContentView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\BusyIndicatorView.xaml.cs">
<DependentUpon>BusyIndicatorView.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs">
<SubType>Code</SubType>
@ -99,11 +105,23 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="Views\HomeView.xaml">
<Page Include="NavigationItems\BusyIndicatorNavItem.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Resources\Common.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\BusyIndicatorCustomContentTemplateView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\BusyIndicatorCustomContentView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\NavigationView.xaml">
<Page Include="Views\BusyIndicatorView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>

63
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentTemplateView.xaml

@ -0,0 +1,63 @@
<infControls:DemoView x:Class="Samples.Modules.BusyIndicator.Views.BusyIndicatorCustomContentTemplateView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="BusyIndicator">
<infControls:DemoView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Samples.Modules.Busyindicator;component/Resources/Common.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</infControls:DemoView.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="This example demonstrates how to create a custom content template by setting the BusyContentTemplate property to an instance of a custom DataTemplate. Take notice of how the default ProgressBar is being hidden by setting the PrgressBarStyle property. The default OverlayStyle is also being set to a custom style."
TextWrapping="Wrap" />
<StackPanel Grid.Row="1" Margin="10">
<TextBlock Grid.Row="2" Text="Custom Content Template:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="True">
<extToolkit:BusyIndicator.BusyContentTemplate>
<DataTemplate>
<StackPanel Margin="4">
<TextBlock Text="Downloading Email" FontWeight="Bold" HorizontalAlignment="Center"/>
<StackPanel Margin="4">
<TextBlock Text="Downloading message 4/10..."/>
<ProgressBar Value="40" Height="15"/>
</StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="Pause" HorizontalAlignment="Right" Margin="0 0 2 0"/>
<Button Grid.Column="1" Content="Cancel" HorizontalAlignment="Left" Margin="2 0 0 0"/>
</Grid>
</StackPanel>
</DataTemplate>
</extToolkit:BusyIndicator.BusyContentTemplate>
<extToolkit:BusyIndicator.OverlayStyle>
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="#B1EB1D1D"/>
</Style>
</extToolkit:BusyIndicator.OverlayStyle>
<extToolkit:BusyIndicator.ProgressBarStyle>
<Style TargetType="ProgressBar">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</extToolkit:BusyIndicator.ProgressBarStyle>
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
</StackPanel>
</Grid>
</infControls:DemoView>

18
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentTemplateView.xaml.cs

@ -0,0 +1,18 @@
using System;
using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
namespace Samples.Modules.BusyIndicator.Views
{
/// <summary>
/// Interaction logic for BusyIndicatorCustomContentTemplateView.xaml
/// </summary>
[RegionMemberLifetime(KeepAlive=false)]
public partial class BusyIndicatorCustomContentTemplateView : DemoView
{
public BusyIndicatorCustomContentTemplateView()
{
InitializeComponent();
}
}
}

41
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentView.xaml

@ -0,0 +1,41 @@
<infControls:DemoView x:Class="Samples.Modules.BusyIndicator.Views.BusyIndicatorCustomContentView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="BusyIndicator">
<infControls:DemoView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Samples.Modules.Busyindicator;component/Resources/Common.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</infControls:DemoView.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="This example demonstrates how to define your own custom content. This is done by setting the BusyContent property."
TextWrapping="Wrap" />
<StackPanel Grid.Row="1" Margin="10">
<TextBlock Text="Custom Content:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="True">
<extToolkit:BusyIndicator.BusyContent>
<StackPanel Orientation="Horizontal" >
<Image Source="/Samples.Modules.BusyIndicator;component/Images/CdBurning32.png" />
<StackPanel Margin="5,0">
<TextBlock Text="Burning CD..." VerticalAlignment="Center" />
<TextBlock Text="Madonna - Like a Virgin" VerticalAlignment="Center" Margin="8,0" />
</StackPanel>
</StackPanel>
</extToolkit:BusyIndicator.BusyContent>
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
</StackPanel>
</Grid>
</infControls:DemoView>

18
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorCustomContentView.xaml.cs

@ -0,0 +1,18 @@
using System;
using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
namespace Samples.Modules.BusyIndicator.Views
{
/// <summary>
/// Interaction logic for BusyIndicatorCustomContentView.xaml
/// </summary>
[RegionMemberLifetime(KeepAlive=false)]
public partial class BusyIndicatorCustomContentView : DemoView
{
public BusyIndicatorCustomContentView()
{
InitializeComponent();
}
}
}

59
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorView.xaml

@ -0,0 +1,59 @@
<infControls:DemoView x:Class="Samples.Modules.BusyIndicator.Views.BusyIndicatorView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Samples.Modules.BusyIndicator.Views"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="BusyIndicator">
<infControls:DemoView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Samples.Modules.Busyindicator;component/Resources/Common.xaml" />
</ResourceDictionary.MergedDictionaries>
<local:IntegerToTimespanConverter x:Key="TimeSpanConverter" />
</ResourceDictionary>
</infControls:DemoView.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="BusyIndicator makes it easy to let the user know when an application is busy. Simply wrap the relevant content in an instance of the BusyIndicator control and toggle its IsBusy property to True during any long-running process."
TextWrapping="Wrap" />
<GroupBox Header="Features" Grid.Row="1" Margin="5" >
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="IsBusy:" VerticalAlignment="Center" Margin="2"/>
<CheckBox x:Name="_isBusy" Grid.Column="1" IsChecked="True" VerticalAlignment="Center" Margin="5" ToolTip="When true shows the BusyIndicator" />
<TextBlock Text="DisplayAfter:" Grid.Row="1" VerticalAlignment="Center" Margin="2"/>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="5" HorizontalAlignment="Left" Orientation="Horizontal">
<extToolkit:IntegerUpDown x:Name="_displayAfter" Width="65" VerticalAlignment="Center" Minimum="0" Increment="100" Value="0" ToolTip="Sets the TimeSpan to wait until the BusyIndicator is displayed." />
<TextBlock Text="milliseconds" Margin="5,0" VerticalAlignment="Center"/>
</StackPanel>
</Grid>
</GroupBox>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="Usage:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="{Binding IsChecked, ElementName=_isBusy}" DisplayAfter="{Binding Value, ElementName=_displayAfter, Converter={StaticResource TimeSpanConverter}}" >
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
</StackPanel>
</Grid>
</infControls:DemoView>

6
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/HomeView.xaml.cs → ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/BusyIndicatorView.xaml.cs

@ -3,15 +3,15 @@ using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
using System.Windows.Data;
namespace Samples.Modules.BusyIndicator
namespace Samples.Modules.BusyIndicator.Views
{
/// <summary>
/// Interaction logic for HomeView.xaml
/// </summary>
[RegionMemberLifetime(KeepAlive=false)]
public partial class HomeView : DemoView
public partial class BusyIndicatorView : DemoView
{
public HomeView()
public BusyIndicatorView()
{
InitializeComponent();
}

142
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/HomeView.xaml

@ -1,142 +0,0 @@
<infControls:DemoView x:Class="Samples.Modules.BusyIndicator.HomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Samples.Modules.BusyIndicator"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="BusyIndicator">
<infControls:DemoView.Resources>
<local:IntegerToTimespanConverter x:Key="TimeSpanConverter" />
<DataTemplate x:Key="SampleContent" >
<Grid Margin="10" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="First Name:" Margin="2" VerticalAlignment="Center" />
<extToolkit:WatermarkTextBox Grid.Row="0" Grid.Column="1" Margin="2" VerticalAlignment="Center" Watermark="Enter First Name" />
<TextBlock Grid.Row="1" Text="Last Name:" Margin="2" VerticalAlignment="Center" />
<extToolkit:WatermarkTextBox Grid.Row="1" Grid.Column="1" Margin="2" VerticalAlignment="Center" Watermark="Enter Last Name" />
<TextBlock Grid.Row="2" Text="Date of Birth:" Margin="2" VerticalAlignment="Center" />
<extToolkit:DateTimeUpDown Grid.Row="2" Grid.Column="1" Format="ShortDate" Margin="2" VerticalAlignment="Center" Watermark="Enter Date of Birth" />
<TextBlock Grid.Row="3" Text="Salary:" Margin="2" VerticalAlignment="Center" />
<extToolkit:IntegerUpDown Grid.Row="3" Grid.Column="1" FormatString="C2" Margin="2" VerticalAlignment="Center" Watermark="Enter Salary" />
<TextBlock Grid.Row="4" Text="Favorite Color:" Margin="2" VerticalAlignment="Center" />
<extToolkit:ColorPicker Grid.Row="4" Grid.Column="1" Margin="2" VerticalAlignment="Center" />
<StackPanel Grid.Row="5" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,10,0,0">
<Button Width="65" Margin="2">OK</Button>
<Button Width="65" Margin="2">Cancel</Button>
</StackPanel>
</Grid>
</DataTemplate>
</infControls:DemoView.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="BusyIndicator makes it easy to let the user know when an application is busy. Simply wrap the relevant content in an instance of the BusyIndicator control and toggle its IsBusy property to True during any long-running process."
TextWrapping="Wrap" />
<GroupBox Header="Features" Grid.Row="1" Margin="5" >
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="IsBusy:" VerticalAlignment="Center" Margin="2"/>
<CheckBox x:Name="_isBusy" Grid.Column="1" IsChecked="True" VerticalAlignment="Center" Margin="5" ToolTip="When true shows the BusyIndicator" />
<TextBlock Text="DisplayAfter:" Grid.Row="1" VerticalAlignment="Center" Margin="2"/>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="5" HorizontalAlignment="Left" Orientation="Horizontal">
<extToolkit:IntegerUpDown x:Name="_displayAfter" Width="65" VerticalAlignment="Center" Minimum="0" Increment="100" Value="0" ToolTip="Sets the TimeSpan to wait until the BusyIndicator is displayed." />
<TextBlock Text="milliseconds" Margin="5,0" VerticalAlignment="Center"/>
</StackPanel>
</Grid>
</GroupBox>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="Default:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="{Binding IsChecked, ElementName=_isBusy}" DisplayAfter="{Binding Value, ElementName=_displayAfter, Converter={StaticResource TimeSpanConverter}}" >
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
<TextBlock Text="Custom Content:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="{Binding IsChecked, ElementName=_isBusy}" DisplayAfter="{Binding Value, ElementName=_displayAfter, Converter={StaticResource TimeSpanConverter}}">
<extToolkit:BusyIndicator.BusyContent>
<StackPanel Orientation="Horizontal" >
<Image Source="/Samples.Modules.BusyIndicator;component/Images/CdBurning32.png" />
<StackPanel Margin="5,0">
<TextBlock Text="Burning CD..." VerticalAlignment="Center" />
<TextBlock Text="Madonna - Like a Virgin" VerticalAlignment="Center" Margin="8,0" />
</StackPanel>
</StackPanel>
</extToolkit:BusyIndicator.BusyContent>
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
<TextBlock Grid.Row="2" Text="Custom Template:" Style="{StaticResource Header}" />
<extToolkit:BusyIndicator IsBusy="{Binding IsChecked, ElementName=_isBusy}" DisplayAfter="{Binding Value, ElementName=_displayAfter, Converter={StaticResource TimeSpanConverter}}" >
<extToolkit:BusyIndicator.BusyContentTemplate>
<DataTemplate>
<StackPanel Margin="4">
<TextBlock Text="Downloading Email" FontWeight="Bold" HorizontalAlignment="Center"/>
<StackPanel Margin="4">
<TextBlock Text="Downloading message 4/10..."/>
<ProgressBar Value="40" Height="15"/>
</StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="Pause" HorizontalAlignment="Right" Margin="0 0 2 0"/>
<Button Grid.Column="1" Content="Cancel" HorizontalAlignment="Left" Margin="2 0 0 0"/>
</Grid>
</StackPanel>
</DataTemplate>
</extToolkit:BusyIndicator.BusyContentTemplate>
<extToolkit:BusyIndicator.OverlayStyle>
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="#B1EB1D1D"/>
</Style>
</extToolkit:BusyIndicator.OverlayStyle>
<extToolkit:BusyIndicator.ProgressBarStyle>
<Style TargetType="ProgressBar">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</extToolkit:BusyIndicator.ProgressBarStyle>
<ContentControl ContentTemplate="{StaticResource SampleContent}" />
</extToolkit:BusyIndicator>
</StackPanel>
</Grid>
</infControls:DemoView>

12
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/NavigationView.xaml

@ -1,12 +0,0 @@
<TreeViewItem x:Class="Samples.Modules.BusyIndicator.NavigationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:views="clr-namespace:Samples.Modules.BusyIndicator"
Header="BusyIndicator"
Tag="{x:Type views:HomeView}">
<TreeViewItem.Resources>
<Style TargetType="views:NavigationView" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
</TreeViewItem>

27
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.BusyIndicator/Views/NavigationView.xaml.cs

@ -1,27 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Samples.Modules.BusyIndicator
{
/// <summary>
/// Interaction logic for NavigationView.xaml
/// </summary>
public partial class NavigationView : TreeViewItem
{
public NavigationView()
{
InitializeComponent();
}
}
}

7
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/ButtonModule.cs

@ -4,6 +4,7 @@ using Microsoft.Practices.Prism.Regions;
using Microsoft.Practices.Unity;
using Samples.Infrastructure.Extensions;
using Samples.Modules.Button.Views;
using Samples.Modules.Button.NavigationItems;
namespace Samples.Modules.Button
{
@ -14,13 +15,15 @@ namespace Samples.Modules.Button
protected override void InitializeModule()
{
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(NavigationView));
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(ButtonSpinnerNavItem));
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(DropDownButtonNavItem));
RegionManager.RegisterViewWithRegion(RegionNames.NavigationRegion, typeof(SplitButtonNavItem));
}
protected override void RegisterViewsAndTypes()
{
Container.RegisterNavigationType(typeof(HomeView));
Container.RegisterNavigationType(typeof(ButtonSpinnerView));
Container.RegisterNavigationType(typeof(DropDownButtonView));
Container.RegisterNavigationType(typeof(SplitButtonView));
}
}

12
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/ButtonSpinnerNavItem.xaml

@ -0,0 +1,12 @@
<TreeViewItem x:Class="Samples.Modules.Button.NavigationItems.ButtonSpinnerNavItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:navItems="clr-namespace:Samples.Modules.Button.NavigationItems"
xmlns:views="clr-namespace:Samples.Modules.Button.Views"
Header="ButtonSpinner" Tag="{x:Type views:ButtonSpinnerView}" >
<TreeViewItem.Resources>
<Style TargetType="navItems:ButtonSpinnerNavItem" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
</TreeViewItem>

16
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/ButtonSpinnerNavItem.xaml.cs

@ -0,0 +1,16 @@
using System;
using System.Windows.Controls;
namespace Samples.Modules.Button.NavigationItems
{
/// <summary>
/// Interaction logic for ButtonSpinnerNavItem.xaml
/// </summary>
public partial class ButtonSpinnerNavItem : TreeViewItem
{
public ButtonSpinnerNavItem()
{
InitializeComponent();
}
}
}

12
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/DropDownButtonNavItem.xaml

@ -0,0 +1,12 @@
<TreeViewItem x:Class="Samples.Modules.Button.NavigationItems.DropDownButtonNavItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:navItems="clr-namespace:Samples.Modules.Button.NavigationItems"
xmlns:views="clr-namespace:Samples.Modules.Button.Views"
Header="DropDownButton" Tag="{x:Type views:DropDownButtonView}">
<TreeViewItem.Resources>
<Style TargetType="navItems:DropDownButtonNavItem" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
</TreeViewItem>

16
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/DropDownButtonNavItem.xaml.cs

@ -0,0 +1,16 @@
using System;
using System.Windows.Controls;
namespace Samples.Modules.Button.NavigationItems
{
/// <summary>
/// Interaction logic for DropDownButtonNavItem.xaml
/// </summary>
public partial class DropDownButtonNavItem : TreeViewItem
{
public DropDownButtonNavItem()
{
InitializeComponent();
}
}
}

12
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/SplitButtonNavItem.xaml

@ -0,0 +1,12 @@
<TreeViewItem x:Class="Samples.Modules.Button.NavigationItems.SplitButtonNavItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:navItems="clr-namespace:Samples.Modules.Button.NavigationItems"
xmlns:views="clr-namespace:Samples.Modules.Button.Views"
Header="SplitButton" Tag="{x:Type views:SplitButtonView}">
<TreeViewItem.Resources>
<Style TargetType="navItems:SplitButtonNavItem" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
</TreeViewItem>

16
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/NavigationItems/SplitButtonNavItem.xaml.cs

@ -0,0 +1,16 @@
using System;
using System.Windows.Controls;
namespace Samples.Modules.Button.NavigationItems
{
/// <summary>
/// Interaction logic for SplitButtonNavItem.xaml
/// </summary>
public partial class SplitButtonNavItem : TreeViewItem
{
public SplitButtonNavItem()
{
InitializeComponent();
}
}
}

30
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Samples.Modules.Button.csproj

@ -62,6 +62,15 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ButtonModule.cs" />
<Compile Include="NavigationItems\ButtonSpinnerNavItem.xaml.cs">
<DependentUpon>ButtonSpinnerNavItem.xaml</DependentUpon>
</Compile>
<Compile Include="NavigationItems\DropDownButtonNavItem.xaml.cs">
<DependentUpon>DropDownButtonNavItem.xaml</DependentUpon>
</Compile>
<Compile Include="NavigationItems\SplitButtonNavItem.xaml.cs">
<DependentUpon>SplitButtonNavItem.xaml</DependentUpon>
</Compile>
<Compile Include="Views\ButtonSpinnerView.xaml.cs">
<DependentUpon>ButtonSpinnerView.xaml</DependentUpon>
</Compile>
@ -78,11 +87,8 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="Views\HomeView.xaml.cs">
<DependentUpon>HomeView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\NavigationView.xaml.cs">
<DependentUpon>NavigationView.xaml</DependentUpon>
<Compile Include="Views\DropDownButtonView.xaml.cs">
<DependentUpon>DropDownButtonView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\SplitButtonView.xaml.cs">
<DependentUpon>SplitButtonView.xaml</DependentUpon>
@ -98,17 +104,25 @@
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<Page Include="Views\ButtonSpinnerView.xaml">
<Page Include="NavigationItems\ButtonSpinnerNavItem.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\HomeView.xaml">
<Page Include="NavigationItems\DropDownButtonNavItem.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="NavigationItems\SplitButtonNavItem.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\NavigationView.xaml">
<Page Include="Views\ButtonSpinnerView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\DropDownButtonView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\SplitButtonView.xaml">
<SubType>Designer</SubType>

48
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/ButtonSpinnerView.xaml

@ -1,9 +1,49 @@
<infControls:DemoView x:Class="Samples.Modules.Button.Views.ButtonSpinnerView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="ButtonSpinner">
<Grid>
<TextBlock Text="ButtonSpinner View" />
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="The ButtonSpinner control allows you to add button spinners to any element and then respond to the Spin event to manipulate that element. The Spin event lets the developer know which direction the buttons are spinning; SpinDirection.Increase indicates an increment, SpinDirection.Decrease indicates a decrement."
TextWrapping="Wrap" />
<GroupBox Header="Features" Grid.Row="1" Margin="5" >
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="AllowSpin:" VerticalAlignment="Center" />
<CheckBox x:Name="_allowSpin" Grid.Column="1" IsChecked="True" VerticalAlignment="Center" Margin="5" ToolTip="When true allows the ButtonSpinner to perform increment/decrement operations."/>
<TextBlock Text="ShowButtonSpinner:" VerticalAlignment="Center" Grid.Row="1" />
<CheckBox x:Name="_showButtonSpinner" Grid.Row="1" Grid.Column="1" IsChecked="True" VerticalAlignment="Center" Margin="5" ToolTip="Gets/Sets the visibility of the button spinners."/>
</Grid>
</GroupBox>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="Usage:" Style="{StaticResource Header}" />
<TextBlock Text="You can wrap any element by placing it inside the content area of the ButtonSpinner control. As an example, lets create our own simple numeric up/down control"
TextWrapping="Wrap"/>
<extToolkit:ButtonSpinner Margin="10" Width="150" HorizontalAlignment="Left"
AllowSpin="{Binding IsChecked, ElementName=_allowSpin}"
ShowButtonSpinner="{Binding IsChecked, ElementName=_showButtonSpinner}"
Spin="ButtonSpinner_Spin" >
<TextBox Text="0" HorizontalContentAlignment="Right" />
</extToolkit:ButtonSpinner>
</StackPanel>
</Grid>
</infControls:DemoView>

22
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/ButtonSpinnerView.xaml.cs

@ -1,6 +1,8 @@
using System;
using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
using Microsoft.Windows.Controls;
using System.Windows.Controls;
namespace Samples.Modules.Button.Views
{
@ -14,5 +16,25 @@ namespace Samples.Modules.Button.Views
{
InitializeComponent();
}
private void ButtonSpinner_Spin(object sender, Microsoft.Windows.Controls.SpinEventArgs e)
{
ButtonSpinner spinner = (ButtonSpinner)sender;
TextBox txtBox = (TextBox)spinner.Content;
try
{
int value = String.IsNullOrEmpty(txtBox.Text) ? 0 : Convert.ToInt32(txtBox.Text);
if (e.Direction == Microsoft.Windows.Controls.SpinDirection.Increase)
value++;
else
value--;
txtBox.Text = value.ToString();
}
catch
{
txtBox.Text = "0";
}
}
}
}

51
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/DropDownButtonView.xaml

@ -0,0 +1,51 @@
<infControls:DemoView x:Class="Samples.Modules.Button.Views.DropDownButtonView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:infConverters="clr-namespace:Microsoft.Windows.Controls.Core.Converters;assembly=WPFToolkit.Extended"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="DropDownButton" >
<infControls:DemoView.Resources>
<infConverters:InverseBoolConverter x:Key="InverseBoolConverter" />
</infControls:DemoView.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="The DropDownButton control is a button that when clicked displays a drop down in which you can place any custom content within."
TextWrapping="Wrap" />
<GroupBox Header="Features" Grid.Row="1" Margin="5" >
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="IsOpen: " VerticalAlignment="Center" />
<CheckBox x:Name="_isOpen" Grid.Column="1" IsChecked="False" VerticalAlignment="Center" Margin="5" ClickMode="Press" ToolTip="Get/Sets a value indicating whether or not the drop down is open." />
</Grid>
</GroupBox>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="Usage:" Style="{StaticResource Header}" />
<extToolkit:DropDownButton x:Name="_dropDownButton" Margin="10" Width="150" HorizontalAlignment="Left" Content="Click Me" IsOpen="{Binding IsChecked, ElementName=_isOpen, Mode=TwoWay}"
Click="DropDownButton_Click">
<extToolkit:DropDownButton.DropDownContent>
<StackPanel>
<extToolkit:ColorCanvas />
<Button Click="Button_Click" Margin="10">OK</Button>
</StackPanel>
</extToolkit:DropDownButton.DropDownContent>
</extToolkit:DropDownButton>
</StackPanel>
</Grid>
</infControls:DemoView>

28
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/DropDownButtonView.xaml.cs

@ -0,0 +1,28 @@
using System;
using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
namespace Samples.Modules.Button.Views
{
/// <summary>
/// Interaction logic for DropDownButtonView.xaml
/// </summary>
[RegionMemberLifetime(KeepAlive = false)]
public partial class DropDownButtonView : DemoView
{
public DropDownButtonView()
{
InitializeComponent();
}
private void DropDownButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
}
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
_dropDownButton.IsOpen = false;
}
}
}

9
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/HomeView.xaml

@ -1,9 +0,0 @@
<infControls:DemoView x:Class="Samples.Modules.Button.Views.HomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
Title="Button Controls">
<Grid>
</Grid>
</infControls:DemoView>

18
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/HomeView.xaml.cs

@ -1,18 +0,0 @@
using System;
using Samples.Infrastructure.Controls;
using Microsoft.Practices.Prism.Regions;
namespace Samples.Modules.Button.Views
{
/// <summary>
/// Interaction logic for HomeView.xaml
/// </summary>
[RegionMemberLifetime(KeepAlive = false)]
public partial class HomeView : DemoView
{
public HomeView()
{
InitializeComponent();
}
}
}

15
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/NavigationView.xaml

@ -1,15 +0,0 @@
<TreeViewItem x:Class="Samples.Modules.Button.Views.NavigationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:views="clr-namespace:Samples.Modules.Button.Views"
Header="Button Controls" Tag="{x:Type views:HomeView}">
<TreeViewItem.Resources>
<Style TargetType="views:NavigationView" BasedOn="{StaticResource {x:Type TreeViewItem}}" />
</TreeViewItem.Resources>
<TreeViewItem Header="ButtonSpinner" Tag="{x:Type views:ButtonSpinnerView}"/>
<TreeViewItem Header="DropDownButton" />
<TreeViewItem Header="SplitButton" Tag="{x:Type views:SplitButtonView}"/>
</TreeViewItem>

16
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/NavigationView.xaml.cs

@ -1,16 +0,0 @@
using System;
using System.Windows.Controls;
namespace Samples.Modules.Button.Views
{
/// <summary>
/// Interaction logic for NavigationView.xaml
/// </summary>
public partial class NavigationView : TreeViewItem
{
public NavigationView()
{
InitializeComponent();
}
}
}

40
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/SplitButtonView.xaml

@ -2,8 +2,46 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:infControls="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:extToolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
Title="SplitButton">
<Grid>
<TextBlock Text="SplitButton View" />
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="The SplitButton control is a button that can be clicked and also provides a drop down in which you can place any custom content within."
TextWrapping="Wrap" />
<GroupBox Header="Features" Grid.Row="1" Margin="5" >
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="IsOpen: " VerticalAlignment="Center" />
<CheckBox x:Name="_isOpen" Grid.Column="1" IsChecked="False" VerticalAlignment="Center" Margin="5" ClickMode="Press" ToolTip="Get/Sets a value indicating whether or not the drop down is open."/>
</Grid>
</GroupBox>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="Usage:" Style="{StaticResource Header}" />
<extToolkit:SplitButton x:Name="_splitButton" Margin="10" Width="150" HorizontalAlignment="Left" Content="Click Me" IsOpen="{Binding IsChecked, ElementName=_isOpen, Mode=TwoWay}"
Click="SplitButton_Click">
<extToolkit:SplitButton.DropDownContent>
<StackPanel>
<extToolkit:ColorCanvas />
<Button Click="Button_Click" Margin="10">OK</Button>
</StackPanel>
</extToolkit:SplitButton.DropDownContent>
</extToolkit:SplitButton>
</StackPanel>
</Grid>
</infControls:DemoView>

10
ExtendedWPFToolkitSolution/Src/Samples/Modules/Samples.Modules.Button/Views/SplitButtonView.xaml.cs

@ -14,5 +14,15 @@ namespace Samples.Modules.Button.Views
{
InitializeComponent();
}
private void SplitButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
Microsoft.Windows.Controls.MessageBox.Show("Thanks for clicking me!", "SplitButton Click");
}
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
_splitButton.IsOpen = false;
}
}
}

5
ExtendedWPFToolkitSolution/Src/Samples/Samples/Shell.xaml

@ -25,8 +25,9 @@
<Border CornerRadius="5" BorderBrush="#FF666666" BorderThickness="1" >
<TreeView prism:RegionManager.RegionName="{x:Static inf:RegionNames.NavigationRegion}"
infCommands:TreeViewSelected.Command="{Binding NavigateCommand}"
BorderBrush="{x:Null}" MinWidth="200" Margin="3">
infCommands:TreeViewSelected.Command="{Binding NavigateCommand}"
BorderBrush="{x:Null}" MinWidth="225" Margin="3"
Loaded="TreeView_Loaded">
<TreeView.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#A1000000" Offset="0" />

8
ExtendedWPFToolkitSolution/Src/Samples/Samples/Shell.xaml.cs

@ -1,5 +1,7 @@
using System;
using System.Windows;
using System.Windows.Controls;
using System.ComponentModel;
namespace Samples
{
@ -16,5 +18,11 @@ namespace Samples
get { return (IShellViewModel)DataContext; }
private set { DataContext = value; }
}
private void TreeView_Loaded(object sender, RoutedEventArgs e)
{
TreeView tv = (TreeView)sender;
tv.Items.SortDescriptions.Add(new SortDescription("Header", ListSortDirection.Ascending));
}
}
}

Loading…
Cancel
Save