├── sl4 ├── SL4.Demo │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── AppManifest.xml │ │ └── OutOfBrowserSettings.xml │ ├── Assets │ │ └── sprite.png │ ├── packages.config │ ├── App.xaml │ ├── WelcomePage.xaml.cs │ ├── SpriteButtonPage.xaml.cs │ ├── EditableTextBlockPage.xaml.cs │ ├── SpinningProgressControlPage.xaml.cs │ ├── PanZoomPage.xaml.cs │ ├── ScrollBehaviorPage.xaml.cs │ ├── SpinningProgressControlPage.xaml │ ├── DoubleClickBehaviorPage.xaml.cs │ ├── ModalControlPage.xaml │ ├── DemoHost.xaml │ ├── WelcomePage.xaml │ ├── DoubleClickBehaviorPage.xaml │ ├── EditableTextBlockPage.xaml │ ├── PanZoomPage.xaml │ ├── FlipControlPage.xaml │ ├── FlipControlPage.xaml.cs │ ├── DemoHost.xaml.cs │ ├── SpriteButtonPage.xaml │ ├── App.xaml.cs │ ├── ModalControlPage.xaml.cs │ └── ScrollBehaviorPage.xaml ├── SL4 │ ├── Images │ │ ├── cross.png │ │ ├── pencil.png │ │ └── tick.png │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── packages.config │ ├── LoadState.cs │ ├── AsyncValueLoadException.cs │ ├── GridLineControl.xaml │ ├── SpinningProgressControl.xaml │ ├── CollapseOnDisableBehavior.cs │ ├── SLExtentions.cs │ ├── ResourceHelpers.cs │ ├── DiscreteSlider.cs │ ├── StretchDirection.cs │ ├── AsBigAsYouWantPanel.cs │ ├── Helpers_Phone.cs │ └── IAsyncValue.cs ├── Common │ ├── packages.config │ ├── KeyBinding.cs │ └── CommandKeyMapper.cs └── Test │ ├── App.xaml │ ├── Properties │ ├── AppManifest.xml │ ├── OutOfBrowserSettings.xml │ └── AssemblyInfo.cs │ ├── App.xaml.cs │ ├── Helpers │ ├── TestChangeable.cs │ └── AssertPlus.cs │ ├── ContractTests.cs │ ├── EnumConverterTest.cs │ ├── SortHelperTests.cs │ └── PropertyWatcherTest.cs ├── net40-client ├── Common │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ICommandProxy.cs │ ├── IDynamicValue.cs │ ├── DeadCommand.cs │ ├── BrushHelper.cs │ ├── DebugTrace.cs │ ├── SimpleValueConverter.cs │ ├── Line.cs │ ├── HueConverter.cs │ ├── PixelLab.Common.csproj │ └── DependencyPropHelper.cs ├── Core │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── System │ │ ├── INotifyDataErrorInfo.cs │ │ └── DataErrorsChangedEventArgs.cs │ ├── InstanceFactory.cs │ ├── ReaderWriterLockHelper.cs │ ├── StreamHelpers.cs │ ├── FuncEnumerable.cs │ ├── CompositionHelpers.cs │ ├── DBUtil.cs │ ├── Contract.cs │ ├── CastList.cs │ ├── SortedObservableEnumerable.cs │ ├── Changeable.cs │ ├── ActionOnDispose.cs │ ├── TypedDictionaryExtensions.cs │ ├── FilteredObservableEnumerable.cs │ ├── WrappedLock.cs │ ├── DataErrorHelper.cs │ └── PixelLab.Core.csproj ├── Bot.Demo │ ├── icon.ico │ ├── logo.png │ ├── KevinButton │ │ ├── up.jpg │ │ ├── down.jpg │ │ ├── left.jpg │ │ ├── middle.jpg │ │ ├── normal.jpg │ │ ├── pressed.jpg │ │ ├── right.jpg │ │ ├── upleft.jpg │ │ ├── upright.jpg │ │ ├── disabled.jpg │ │ ├── downleft.jpg │ │ └── downright.jpg │ ├── FolderPicker │ │ ├── drive.png │ │ ├── ChildSelection.cs │ │ └── LocalDrives.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TransitionPresenter │ │ └── star.png │ ├── packages.config │ ├── ShowElementPage.xaml │ ├── TreeMapPanelPage.xaml │ ├── Interactive3DPage.xaml │ ├── Core │ │ ├── IsStringEmptyConverter.cs │ │ ├── DemoMetadataAttribute.cs │ │ ├── DemoMetadataProperties.cs │ │ ├── DemoMetadata.cs │ │ └── XamlComponent.cs │ ├── App.xaml.cs │ ├── ZapPage.xaml.cs │ ├── FlipTile3D │ │ └── FlipTile3DPage.xaml │ ├── MainPage.xaml.cs │ ├── TreeMapPanelPage.xaml.cs │ ├── NumericUpDownPage.xaml │ ├── VisualTreeViewer │ │ ├── VisualTreeViewerPage.xaml.cs │ │ ├── VisualTreeViewerPage.xaml │ │ └── VisualTreeItem.cs │ ├── VSCopyToHtmlPage.xaml │ ├── ReorderListboxPage.xaml.cs │ ├── Hex │ │ └── HexHelper.cs │ ├── ShowElementPage.xaml.cs │ ├── ListPagerPage.xaml.cs │ ├── MineSweeper │ │ └── MineSweeperPage.xaml.cs │ ├── ColorPicker │ │ └── Code.cs │ ├── TreeViewHelperClasses │ │ ├── DataTree.cs │ │ └── TreeViewHelperPage.xaml │ ├── ReorderListboxPage.xaml │ ├── OrgTree │ │ └── OrgTreePage.xaml.cs │ ├── AnimatingTilePanelPage.xaml.cs │ ├── IntroductionPage.xaml │ ├── InfoTextBoxPage.xaml │ ├── MainPage.xaml │ ├── TreeViewDoubleClickPage.xaml │ ├── BlockBarPage.xaml │ ├── TreeViewDoubleClickPage.xaml.cs │ └── Set │ │ └── SetPage.xaml.cs └── Bot │ ├── packages.config │ ├── Properties │ └── AssemblyInfo.cs │ ├── TemplateBorder.cs │ ├── Transitions │ ├── TransitionSelector.cs │ ├── FadeTransition.cs │ ├── TwoWayTransitionSelector.cs │ └── Transition.cs │ ├── RevealModeVertical.cs │ ├── OrgTree.cs │ ├── RevealModeHorizontal.cs │ ├── ColorBrushConverter.cs │ ├── themes │ ├── generic.xaml │ ├── TemplateBorder.generic.xaml │ └── NumericUpDown.generic.xaml │ ├── ButtonBase3D.cs │ ├── WrapperElement.cs │ ├── TreeMap3DUserControl.xaml.cs │ ├── BlockBarRect.cs │ ├── BlockBarCircle.cs │ ├── InfoTextBox.cs │ └── OrgTreeItem.cs ├── CommonAssemblyInfo.cs ├── lib ├── Microsoft.Xaml.Tools.dll └── Microsoft.Xaml.Tools.pdb ├── packages ├── Prism.4.1.0.0 │ ├── Prism.4.1.0.0.nupkg │ └── lib │ │ ├── SL4 │ │ ├── Microsoft.Practices.Prism.dll │ │ ├── System.Windows.Interactivity.dll │ │ ├── Microsoft.Expression.Interactions.dll │ │ └── Microsoft.Practices.Prism.Interactivity.dll │ │ ├── SL5 │ │ ├── Microsoft.Practices.Prism.dll │ │ ├── System.Windows.Interactivity.dll │ │ ├── Microsoft.Expression.Interactions.dll │ │ └── Microsoft.Practices.Prism.Interactivity.dll │ │ └── NET40 │ │ ├── Microsoft.Practices.Prism.dll │ │ ├── System.Windows.Interactivity.dll │ │ ├── Microsoft.Expression.Interactions.dll │ │ └── Microsoft.Practices.Prism.Interactivity.dll ├── CommonServiceLocator.1.0 │ ├── CommonServiceLocator.1.0.nupkg │ └── lib │ │ ├── SL30 │ │ └── Microsoft.Practices.ServiceLocation.dll │ │ └── NET35 │ │ ├── Microsoft.Practices.ServiceLocation.dll │ │ └── Microsoft.Practices.ServiceLocation.pdb └── repositories.config ├── .gitignore ├── XamlAssemblyInfo.cs ├── sl5 ├── SL5 │ └── packages.config └── Common │ └── packages.config ├── targets ├── SL4.targets ├── SL5.targets ├── NET4.targets ├── SL_shared.targets ├── Contracts.targets └── BuildShared.targets ├── PixelLab.Core.nuspec ├── PixelLab.BOT.nuspec ├── PixelLab.Common.nuspec └── README.md /sl4/SL4.Demo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /net40-client/Common/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /net40-client/Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CommonAssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/CommonAssemblyInfo.cs -------------------------------------------------------------------------------- /sl4/SL4/Images/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/sl4/SL4/Images/cross.png -------------------------------------------------------------------------------- /sl4/SL4/Images/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/sl4/SL4/Images/pencil.png -------------------------------------------------------------------------------- /sl4/SL4/Images/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/sl4/SL4/Images/tick.png -------------------------------------------------------------------------------- /lib/Microsoft.Xaml.Tools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/lib/Microsoft.Xaml.Tools.dll -------------------------------------------------------------------------------- /lib/Microsoft.Xaml.Tools.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/lib/Microsoft.Xaml.Tools.pdb -------------------------------------------------------------------------------- /net40-client/Bot.Demo/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/icon.ico -------------------------------------------------------------------------------- /net40-client/Bot.Demo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/logo.png -------------------------------------------------------------------------------- /sl4/SL4.Demo/Assets/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/sl4/SL4.Demo/Assets/sprite.png -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/up.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/up.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/down.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/down.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/left.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/left.jpg -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/Prism.4.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/Prism.4.1.0.0.nupkg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/FolderPicker/drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/FolderPicker/drive.png -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/middle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/middle.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/normal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/normal.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/pressed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/pressed.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/right.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/right.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/upleft.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/upleft.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/upright.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/upright.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/disabled.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/disabled.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/downleft.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/downleft.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/KevinButton/downright.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/KevinButton/downright.jpg -------------------------------------------------------------------------------- /net40-client/Bot.Demo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /net40-client/Bot.Demo/TransitionPresenter/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/net40-client/Bot.Demo/TransitionPresenter/star.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | obj 3 | *.user 4 | *.suo 5 | .DS_Store 6 | *.userprefs 7 | *.vs10x 8 | StyleCop.Cache 9 | Thumbs.db 10 | *.sln.docstates -------------------------------------------------------------------------------- /net40-client/Bot.Demo/FolderPicker/ChildSelection.cs: -------------------------------------------------------------------------------- 1 | namespace PixelLab.Wpf.Demo.FolderPicker 2 | { 3 | public enum ChildSelection { All, Some, None } 4 | } -------------------------------------------------------------------------------- /XamlAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Markup; 2 | 3 | [assembly: XmlnsDefinition("http://schemas.thinkpixellab.com/2011/xaml/presentation", "PixelLab.Common")] 4 | -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL4/Microsoft.Practices.Prism.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL4/Microsoft.Practices.Prism.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL5/Microsoft.Practices.Prism.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL5/Microsoft.Practices.Prism.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/NET40/Microsoft.Practices.Prism.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/NET40/Microsoft.Practices.Prism.dll -------------------------------------------------------------------------------- /sl4/SL4/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Markup; 2 | 3 | [assembly: XmlnsDefinition("http://schemas.thinkpixellab.com/2011/xaml/presentation", "PixelLab.SL")] 4 | -------------------------------------------------------------------------------- /packages/CommonServiceLocator.1.0/CommonServiceLocator.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/CommonServiceLocator.1.0/CommonServiceLocator.1.0.nupkg -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/NET40/System.Windows.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/NET40/System.Windows.Interactivity.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL4/System.Windows.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL4/System.Windows.Interactivity.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL5/System.Windows.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL5/System.Windows.Interactivity.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/NET40/Microsoft.Expression.Interactions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/NET40/Microsoft.Expression.Interactions.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL4/Microsoft.Expression.Interactions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL4/Microsoft.Expression.Interactions.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL5/Microsoft.Expression.Interactions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL5/Microsoft.Expression.Interactions.dll -------------------------------------------------------------------------------- /sl4/SL4/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /sl5/SL5/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL4/Microsoft.Practices.Prism.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL4/Microsoft.Practices.Prism.Interactivity.dll -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/SL5/Microsoft.Practices.Prism.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/SL5/Microsoft.Practices.Prism.Interactivity.dll -------------------------------------------------------------------------------- /sl4/Common/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /sl4/SL4/LoadState.cs: -------------------------------------------------------------------------------- 1 | namespace PixelLab.SL 2 | { 3 | public enum LoadState 4 | { 5 | Unloaded, 6 | Loading, 7 | Loaded, 8 | Error 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sl5/Common/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /net40-client/Bot/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/Prism.4.1.0.0/lib/NET40/Microsoft.Practices.Prism.Interactivity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/Prism.4.1.0.0/lib/NET40/Microsoft.Practices.Prism.Interactivity.dll -------------------------------------------------------------------------------- /net40-client/Bot.Demo/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /sl4/Test/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /packages/CommonServiceLocator.1.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/CommonServiceLocator.1.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll -------------------------------------------------------------------------------- /packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.dll -------------------------------------------------------------------------------- /packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkpixellab/bot/HEAD/packages/CommonServiceLocator.1.0/lib/NET35/Microsoft.Practices.ServiceLocation.pdb -------------------------------------------------------------------------------- /net40-client/Common/ICommandProxy.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace PixelLab.Common 4 | { 5 | public interface ICommandProxy 6 | { 7 | object GetCommandOwner(DependencyObject source); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /net40-client/Common/IDynamicValue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PixelLab.Common 4 | { 5 | public interface IDynamicValue 6 | { 7 | T Value { get; } 8 | event EventHandler ValueChanged; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /sl4/Test/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /net40-client/Bot/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Markup; 3 | 4 | [assembly: ThemeInfo(ResourceDictionaryLocation.SourceAssembly, ResourceDictionaryLocation.SourceAssembly)] 5 | [assembly: XmlnsDefinition("http://schemas.thinkpixellab.com/2011/xaml/presentation", "PixelLab.Wpf")] 6 | -------------------------------------------------------------------------------- /sl4/SL4/AsyncValueLoadException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PixelLab.SL 4 | { 5 | public class AsyncValueLoadException : Exception 6 | { 7 | public AsyncValueLoadException(Exception innerException) : base("An exception was thrown while loading an async value.", innerException) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /targets/SL4.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v4.0 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /targets/SL5.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | v5.0 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/WelcomePage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using PixelLab.Demo.Core; 3 | 4 | namespace PixelLab.SL.Demo 5 | { 6 | [DemoMetadata("Welcome")] 7 | public partial class WelcomePage : UserControl 8 | { 9 | public WelcomePage() 10 | { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/ShowElementPage.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/TreeMapPanelPage.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/SpriteButtonPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using PixelLab.Demo.Core; 3 | 4 | namespace PixelLab.SL.Demo 5 | { 6 | [DemoMetadata("Sprite Button")] 7 | public partial class SpriteButtonPage : UserControl 8 | { 9 | public SpriteButtonPage() 10 | { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/Interactive3DPage.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/EditableTextBlockPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using PixelLab.Demo.Core; 3 | 4 | namespace PixelLab.SL.Demo 5 | { 6 | [DemoMetadata("EditableTextBlock")] 7 | public partial class EditableTextBlockPage : UserControl 8 | { 9 | public EditableTextBlockPage() 10 | { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /net40-client/Bot/TemplateBorder.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | 4 | namespace PixelLab.Wpf 5 | { 6 | public class TemplateBorder : Border 7 | { 8 | static TemplateBorder() 9 | { 10 | DefaultStyleKeyProperty.OverrideMetadata(typeof(TemplateBorder), new FrameworkPropertyMetadata(typeof(TemplateBorder))); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /targets/NET4.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | v4.0 7 | Client 8 | 9 | 10 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/SpinningProgressControlPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using PixelLab.Demo.Core; 3 | 4 | namespace PixelLab.SL.Demo 5 | { 6 | [DemoMetadata("SpinningProgressControl")] 7 | public partial class SpinningProgressControlPage : UserControl 8 | { 9 | public SpinningProgressControlPage() 10 | { 11 | InitializeComponent(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /net40-client/Core/System/INotifyDataErrorInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | 3 | namespace System.ComponentModel 4 | { 5 | public interface INotifyDataErrorInfo 6 | { 7 | // Events 8 | event EventHandler ErrorsChanged; 9 | 10 | // Methods 11 | IEnumerable GetErrors(string propertyName); 12 | 13 | // Properties 14 | bool HasErrors { get; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /net40-client/Core/System/DataErrorsChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace System.ComponentModel 2 | { 3 | public sealed class DataErrorsChangedEventArgs : EventArgs 4 | { 5 | // Methods 6 | public DataErrorsChangedEventArgs(string propertyName) 7 | { 8 | this.PropertyName = propertyName; 9 | } 10 | 11 | // Properties 12 | public string PropertyName { get; private set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/Core/IsStringEmptyConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using PixelLab.Common; 3 | 4 | namespace PixelLab.Wpf.Demo.Core 5 | { 6 | public class IsStringEmptyConverter : SimpleValueConverter 7 | { 8 | protected override Visibility ConvertBase(string input) 9 | { 10 | return input.IsNullOrWhiteSpace() ? Visibility.Collapsed : Visibility.Visible; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | Bag of Tricks - Silverlight 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /sl4/SL4/GridLineControl.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /sl4/Test/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | Test.Silverlight Application on your desktop; at home, at work or on the go. 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /net40-client/Bot/Transitions/TransitionSelector.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace PixelLab.Wpf.Transitions 4 | { 5 | // Allows different transitions to run based on the old and new contents 6 | // Override the SelectTransition method to return the transition to apply 7 | public class TransitionSelector : DependencyObject 8 | { 9 | public virtual Transition SelectTransition(object oldContent, object newContent) 10 | { 11 | return null; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/PanZoomPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using PixelLab.Demo.Core; 4 | 5 | namespace PixelLab.SL.Demo 6 | { 7 | [DemoMetadata("PanZoom")] 8 | public partial class PanZoomPage : UserControl 9 | { 10 | public PanZoomPage() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | private void AsBigAsYouWantPanel_SizeChanged(object sender, SizeChangedEventArgs e) 16 | { 17 | PanZoom.CenterContent(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sl4/SL4/SpinningProgressControl.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/ScrollBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Windows.Controls; 3 | using PixelLab.Common; 4 | using PixelLab.Demo.Core; 5 | 6 | namespace PixelLab.SL.Demo 7 | { 8 | [DemoMetadata("ScrollBehavior", "A behavior to attach to a ScrollViewer to expose scroll direction commands.")] 9 | public partial class ScrollBehaviorPage : UserControl 10 | { 11 | public ScrollBehaviorPage() 12 | { 13 | InitializeComponent(); 14 | 15 | _demoListBox.ItemsSource = Enumerable.Range(1, 10).Select(i => "Item {0}".DoFormat(i)).ToList(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /sl4/Test/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using System.Windows; 3 | using Microsoft.Silverlight.Testing; 4 | 5 | namespace PixelLab.Test 6 | { 7 | public partial class App : Application 8 | { 9 | public App() 10 | { 11 | this.Startup += this.Application_Startup; 12 | this.UnhandledException += (sender, args) => Debugger.Break(); 13 | 14 | InitializeComponent(); 15 | } 16 | 17 | private void Application_Startup(object sender, StartupEventArgs e) 18 | { 19 | RootVisual = UnitTestSystem.CreateTestPage(); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /sl4/SL4.Demo/SpinningProgressControlPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /targets/SL_shared.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(DefineConstants);SILVERLIGHT 6 | Silverlight 7 | $(TargetFrameworkVersion) 8 | true 9 | true 10 | true 11 | true 12 | Library 13 | 14 | 15 | -------------------------------------------------------------------------------- /net40-client/Bot/RevealModeVertical.cs: -------------------------------------------------------------------------------- 1 | namespace PixelLab.Wpf 2 | { 3 | public enum VerticalRevealMode 4 | { 5 | /// 6 | /// No vertical reveal animation. 7 | /// 8 | None, 9 | 10 | /// 11 | /// Reveal from top to bottom. 12 | /// 13 | FromTopToBottom, 14 | 15 | /// 16 | /// Reveal from bottom to top. 17 | /// 18 | FromBottomToTop, 19 | 20 | /// 21 | /// Reveal from the center to the bounding edge. 22 | /// 23 | FromCenterToEdge, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using System.Linq; 3 | using System.Windows; 4 | using System.Windows.Media; 5 | using PixelLab.Common; 6 | 7 | namespace PixelLab.Wpf.Demo 8 | { 9 | public partial class App : Application 10 | { 11 | public App() 12 | { 13 | InitializeComponent(); 14 | } 15 | 16 | public static readonly ReadOnlyCollection DemoColors = 17 | "#E2602D,#1E94C0,#B7596B,#FF9C00,#93C6B9,#70634D,#FDCE4E,#759C00" 18 | .Split(',') 19 | .Select(cs => (Color)ColorConverter.ConvertFromString(cs)) 20 | .ToReadOnlyCollection(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /net40-client/Bot/OrgTree.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | 4 | namespace PixelLab.Wpf 5 | { 6 | public class OrgTree : ItemsControl 7 | { 8 | static OrgTree() 9 | { 10 | DefaultStyleKeyProperty.OverrideMetadata(typeof(OrgTree), new FrameworkPropertyMetadata(typeof(OrgTree))); 11 | } 12 | 13 | protected override DependencyObject GetContainerForItemOverride() 14 | { 15 | return new OrgTreeItem(); 16 | } 17 | 18 | protected override bool IsItemItsOwnContainerOverride(object item) 19 | { 20 | return item is OrgTreeItem; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/DoubleClickBehaviorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using Microsoft.Practices.Prism.Commands; 4 | using PixelLab.Demo.Core; 5 | 6 | namespace PixelLab.SL.Demo 7 | { 8 | [DemoMetadata("DoubleClickBehavior")] 9 | public partial class DoubleClickBehaviorPage : UserControl 10 | { 11 | public DoubleClickBehaviorPage() 12 | { 13 | DataContext = new DelegateCommand((param) => 14 | { 15 | MessageBox.Show(param, "The double click command has been fired.", MessageBoxButton.OK); 16 | }); 17 | 18 | InitializeComponent(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /net40-client/Bot/RevealModeHorizontal.cs: -------------------------------------------------------------------------------- 1 | namespace PixelLab.Wpf 2 | { 3 | public enum HorizontalRevealMode 4 | { 5 | /// 6 | /// No horizontal reveal animation. 7 | /// 8 | None, 9 | 10 | /// 11 | /// Reveal from the left to the right. 12 | /// 13 | FromLeftToRight, 14 | 15 | /// 16 | /// Reveal from the right to the left. 17 | /// 18 | FromRightToLeft, 19 | 20 | /// 21 | /// Reveal from the center to the bounding edge. 22 | /// 23 | FromCenterToEdge, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sl4/Test/Helpers/TestChangeable.cs: -------------------------------------------------------------------------------- 1 | using PixelLab.Common; 2 | 3 | namespace PixelLab.Test.Helpers 4 | { 5 | internal class TestChangeable : Changeable 6 | { 7 | private int _foo, _bar, _baz; 8 | 9 | public int Foo 10 | { 11 | get { return _foo; } 12 | set { UpdateProperty("Foo", ref _foo, value); } 13 | } 14 | 15 | public int Bar 16 | { 17 | get { return _bar; } 18 | set { UpdateProperty("Foo", ref _bar, value); } 19 | } 20 | 21 | public int Baz 22 | { 23 | get { return _baz; } 24 | set { UpdateProperty("Baz", ref _baz, value); } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/ZapPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | using PixelLab.Common; 3 | using PixelLab.Demo.Core; 4 | 5 | namespace PixelLab.Wpf.Demo 6 | { 7 | [DemoMetadata("Zap Scroller", "An example of the union between custom elements, custom animation, and data binding.")] 8 | public partial class ZapPage : Page 9 | { 10 | public ZapPage() 11 | { 12 | InitializeComponent(); 13 | 14 | m_tabItemColors.DataContext = m_strings; 15 | } 16 | 17 | private readonly DemoCollection m_strings = 18 | DemoCollection.Create(new string[] { "red", "orange", "yellow", "green", "blue", "violet" }, 6, 0, 12); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sl4/SL4.Demo/ModalControlPage.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 18 | 19 | 20 | Radom UI 1 21 | 22 | cool beans 3 23 | cool beans 4 24 | cool beans 5 25 | 26 | cool 27 | beans 28 | 6 29 | 30 | cool beans 7 31 | cool beans 8 32 | cool beans 9 33 | cool beans 0 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /net40-client/Bot/themes/NumericUpDown.generic.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /net40-client/Bot.Demo/TreeViewHelperClasses/TreeViewHelperPage.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |