├── .editorconfig ├── .gitattributes ├── .gitignore ├── LICENSE ├── NuGet.Config ├── README.md └── src ├── AgilePairingBacklog ├── AgilePairingBacklog.sln └── AgilePairingBacklog │ ├── AgilePairingBacklog.csproj │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── Content │ ├── people.png │ ├── person.png │ └── tasks.png │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Models │ ├── AgilePairingBacklogProject.cs │ ├── ApplicationCommandsEx.cs │ ├── ModelBase.cs │ ├── Pairing.cs │ ├── Person.cs │ ├── Task.cs │ └── TaskStatus.cs │ └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── BuildProcessTemplates ├── DefaultTemplate.11.1.xaml ├── DefaultTemplate.xaml ├── LabDefaultTemplate.11.xaml └── UpgradeTemplate.xaml ├── Code Snippets └── propnpc.snippet └── Microsoft.DwayneNeed ├── CustomBitmapDemo ├── App.xaml ├── App.xaml.cs ├── CustomBitmapDemo.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Window1.xaml ├── Window1.xaml.cs └── app.config ├── D2DSamples ├── D2DSamples.cpp ├── D2DSamples.def ├── D2DSamples.vcxproj ├── D2DSamples.vcxproj.filters ├── GeometryRealization.cpp ├── GeometryRealization.h ├── GeometryRealizationSample.cpp ├── GeometryRealizationSample.h ├── RingBuffer.h ├── dllmain.cpp ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── DemoApp ├── App.xaml ├── App.xaml.cs ├── DemoApp.csproj ├── Demos │ └── Airspace │ │ ├── AirspaceDemo.xaml │ │ ├── AirspaceDemo.xaml.cs │ │ ├── AirspaceDemoMode.cs │ │ ├── D2DSample.xaml │ │ ├── D2DSample.xaml.cs │ │ ├── Model │ │ ├── MdiDemoColorGridContent.cs │ │ ├── MdiDemoCommands.cs │ │ ├── MdiDemoContent.cs │ │ ├── MdiDemoOptions.cs │ │ ├── MdiDemoPageContent.cs │ │ └── MdiDemoWorkspace.cs │ │ ├── OptionsDialog.xaml │ │ ├── OptionsDialog.xaml.cs │ │ ├── Topic.xaml │ │ ├── Topic.xaml.cs │ │ ├── WPFCubes.xaml │ │ ├── WPFCubes.xaml.cs │ │ ├── WPFDataForm.xaml │ │ ├── WPFDataForm.xaml.cs │ │ ├── WPFImage.xaml │ │ ├── WPFImage.xaml.cs │ │ ├── WPFMediaElement.xaml │ │ ├── WPFMediaElement.xaml.cs │ │ ├── WPFWebBrowser.xaml │ │ ├── WPFWebBrowser.xaml.cs │ │ ├── WinFormsCalendar.xaml │ │ ├── WinFormsCalendar.xaml.cs │ │ ├── WinFormsDataForm.xaml │ │ ├── WinFormsDataForm.xaml.cs │ │ ├── WinFormsMediaPlayer.xaml │ │ ├── WinFormsMediaPlayer.xaml.cs │ │ ├── WinFormsMix.xaml │ │ ├── WinFormsMix.xaml.cs │ │ ├── WinFormsRemoteDesktop.xaml │ │ ├── WinFormsRemoteDesktop.xaml.cs │ │ ├── WinFormsWebBrowser.xaml │ │ └── WinFormsWebBrowser.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Model │ ├── Index.cs │ ├── ModelBase.cs │ └── Topic.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── app.config ├── ExpressionTest ├── ExpressionTest.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── ValueExpression.cs └── app.config ├── GlobeDemo ├── App.xaml ├── App.xaml.cs ├── GlobeDemo.csproj ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Trackball.cs ├── WorldMap.xaml ├── WorldMap.xaml.cs └── app.config ├── HierarchicalDataDemo ├── App.xaml ├── App.xaml.cs ├── HeiankyoView.cs ├── HierarchicalDataDemo.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SubspaceSet.cs ├── Window1.xaml ├── Window1.xaml.cs └── app.config ├── Microsoft.DwayneNeed.Reactive.Contract ├── IMutableValue.cs ├── IObservableValue.cs ├── Microsoft.DwayneNeed.Reactive.Contract.csproj └── Properties │ └── AssemblyInfo.cs ├── Microsoft.DwayneNeed.Reactive.UnitTests ├── ConstantValueTests.cs ├── ExampleClass.cs ├── Microsoft.DwayneNeed.Reactive.UnitTests.csproj ├── MutableValueTests.cs ├── ObservableInstanceMethodTests.cs ├── ObservableMethodExpressionTests.cs ├── Properties │ └── AssemblyInfo.cs ├── ReadOnlyValueTests.cs └── packages.config ├── Microsoft.DwayneNeed.Reactive ├── ConstantValue.cs ├── Microsoft.DwayneNeed.Reactive.csproj ├── MutableValue.cs ├── ObservableExpression.cs ├── ObservableInstanceMethod.cs ├── Properties │ └── AssemblyInfo.cs ├── ReadOnlyValue.cs ├── ValueExtensions.cs └── packages.config ├── Microsoft.DwayneNeed.Win32 ├── App.config ├── ComCtl32 │ ├── SUBCLASSPROC.cs │ ├── StrongHWND.cs │ ├── StrongHWNDSubclass.cs │ └── WindowSubclass.cs ├── Common │ └── ThreadAffinitizedHandle.cs ├── Documentation │ ├── API.xlsx │ └── readme.docx ├── DwmApi │ └── DWM_EC.cs ├── Gdi32 │ ├── BI.cs │ ├── BITMAPINFO.cs │ ├── BKMODE.cs │ ├── CHARSET.cs │ ├── CLIP.cs │ ├── COLOR.cs │ ├── COLORREF.cs │ ├── DIB.cs │ ├── FF.cs │ ├── FW.cs │ ├── GDC.cs │ ├── HBRUSH.cs │ ├── HDC.cs │ ├── HGDIOBJ.cs │ ├── OBJ.cs │ ├── OUTPRECIS.cs │ ├── PITCH.cs │ ├── PITCH_FF.cs │ ├── QUALITY.cs │ └── ROP.cs ├── Kernel32 │ ├── Error.cs │ ├── MEM.cs │ ├── PAGE.cs │ ├── SEC.cs │ ├── SYSTEM_INFO.cs │ └── _PROCESSOR_INFO_UNION.cs ├── Microsoft.DwayneNeed.Win32.csproj ├── NativeMacros.cs ├── NativeMethods.cs ├── Properties │ └── AssemblyInfo.cs ├── UrlMon │ ├── INTERNETFEATURELIST.cs │ └── SET_FEATURE.cs └── User32 │ ├── CS.cs │ ├── DT.cs │ ├── GA.cs │ ├── GCL.cs │ ├── GCW.cs │ ├── GW.cs │ ├── GWL.cs │ ├── HARDWAREINPUT.cs │ ├── HWND.cs │ ├── INPUT.cs │ ├── KEYBDINPUT.cs │ ├── KEYEVENTF.cs │ ├── LWA.cs │ ├── MA.cs │ ├── MOUSEEVENTF.cs │ ├── MOUSEINPUT.cs │ ├── POINT.cs │ ├── PW.cs │ ├── RDW.cs │ ├── RECT.cs │ ├── SW.cs │ ├── SWP.cs │ ├── TIMERPROC.cs │ ├── VK.cs │ ├── WINDOWPOS.cs │ ├── WM.cs │ ├── WNDCLASSEX.cs │ ├── WNDPROC.cs │ ├── WS.cs │ └── WS_EX.cs ├── Microsoft.DwayneNeed.sln ├── Microsoft.DwayneNeed ├── Controls │ ├── ChildWindow.cs │ ├── ColorGrid.cs │ ├── ComponentPresenter.cs │ ├── Decorator.cs │ ├── ElementModalDialog.cs │ ├── HwndSourceElement.cs │ ├── IModalContent.cs │ ├── MeshTextureCoordinateVisualizer.cs │ ├── OldSchoolMdiWindow.cs │ ├── SelectorEx.cs │ ├── VisualWrapper.cs │ └── WebBrowserEx.cs ├── Converters │ ├── ContainerFromItemConverter.cs │ ├── EnumToBoolConverter.cs │ ├── MdiWindowEdgeThicknessConverter.cs │ ├── MultiBindingBooleanConverter.cs │ ├── PixelGridLengthConverter.cs │ └── StarGridLengthConverter.cs ├── Extensions │ ├── DispatcherExtensions.cs │ ├── ElementExtensions.cs │ ├── EventHandlerExtensions.cs │ ├── HwndHostExtensions.cs │ ├── HwndSourceExtensions.cs │ ├── Int32CollectionExtensions.cs │ ├── Int32RectExtensions.cs │ ├── MeshGeometry3DExtensions.cs │ ├── PresentationSourceExtensions.cs │ ├── RectExtensions.cs │ └── WebBrowserExtensions.cs ├── Geometry │ ├── Box.cs │ ├── Box1D.cs │ ├── Box2D.cs │ ├── Box3D.cs │ ├── BoxExtensions.cs │ ├── Point.cs │ ├── Point1D.cs │ ├── Point2D.cs │ ├── Point3D.cs │ ├── PointExtensions.cs │ ├── Size.cs │ ├── Size1D.cs │ ├── Size2D.cs │ ├── Size3D.cs │ ├── SizeExtensions.cs │ ├── Vector.cs │ ├── Vector1D.cs │ ├── Vector2D.cs │ ├── Vector3D.cs │ └── VectorExtensions.cs ├── Input │ └── RoutedCommand.cs ├── Interop │ ├── AirspaceDecorator.cs │ ├── AirspaceMode.cs │ ├── AirspaceScrollViewer.cs │ ├── CallbackHwndHost.cs │ ├── CopyBitsBehavior.cs │ ├── DeviceContextCachePolicy.cs │ ├── HwndHostCommands.cs │ ├── HwndHostEx.cs │ ├── HwndSourceHost.cs │ ├── HwndSourceHostRoot.cs │ ├── MouseActivateParameter.cs │ ├── RedirectedHwndHost.cs │ ├── RedirectedHwndSourceHost.cs │ ├── RedirectedWindow.cs │ ├── RedirectionVisibility.cs │ ├── WindowBase.cs │ ├── WindowClass.cs │ ├── WindowClassType.cs │ ├── WindowParameters.cs │ └── WindowShowState.cs ├── MDI │ ├── AdjustWindowRectParameter.cs │ ├── MdiCommands.cs │ ├── MdiFloater.cs │ ├── MdiPanel.cs │ ├── MdiView.cs │ ├── MdiWindow.cs │ ├── MdiWindowCollection.cs │ ├── MdiWindowEdge.cs │ └── MdiWindowThumb.cs ├── Media │ ├── CacheScale.cs │ ├── DynamicThickness.cs │ ├── Imaging │ │ ├── Bgra32Pixel.cs │ │ ├── ChainedBitmap.cs │ │ ├── ColorKeyBitmap.cs │ │ ├── CustomBitmap.cs │ │ ├── GrayscaleBitmap.cs │ │ └── SepiaBitmap.cs │ └── Shape3DMaterial.cs ├── Microsoft.DwayneNeed.csproj ├── Numerics │ ├── Binary64.cs │ ├── Binary64Exponent.cs │ ├── Binary64InsignificantBits.cs │ ├── Binary64Significand.cs │ ├── ClosedInterval.cs │ ├── Degree.cs │ ├── Double42.cs │ ├── DoubleExtensions.cs │ ├── Int32Point.cs │ ├── Interval.cs │ ├── IntervalExtensions.cs │ ├── MemoizeMath.cs │ ├── NumberSet.cs │ ├── OpenInterval.cs │ ├── Radian.cs │ └── Sign.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Shapes │ ├── BoysSurface.cs │ ├── Cone.cs │ ├── Cylinder.cs │ ├── Ellipsoid.cs │ ├── Figure8Torus.cs │ ├── MobiusStrip.cs │ ├── ParametricShape3D.cs │ ├── RomanSurface.cs │ ├── Shape3D.cs │ ├── Sphere.cs │ ├── SuperEllipsoid.cs │ ├── SuperToroid.cs │ └── Torus.cs ├── Themes │ └── Generic.xaml ├── Threading │ ├── UIThreadPerfCounters.cs │ ├── UIThreadPerfSample.cs │ ├── UIThreadPool.cs │ ├── UIThreadPoolDataGridColumn.cs │ ├── UIThreadPoolDataGridTemplateColumn.cs │ ├── UIThreadPoolRoot.cs │ ├── UIThreadPoolThread.cs │ └── VisualTargetPresentationSource.cs └── Utilities │ ├── Buffer2D.cs │ ├── Buffer2DView.cs │ ├── CommandLineParameterAttribute.cs │ ├── CommandLineParameterException.cs │ ├── CommandLineParser.cs │ └── CommandLineUsageException.cs ├── MultiThreadDataGridDemo ├── App.xaml ├── App.xaml.cs ├── DataItem.cs ├── DataSet.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── MultiThreadDataGridDemo.csproj ├── NotificationConfiguration.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SomeEnum.cs └── app.config ├── OldSchoolMdiDemo ├── 3DThing.xaml ├── 3DThing.xaml.cs ├── App.xaml ├── App.xaml.cs ├── Bing.xaml ├── Bing.xaml.cs ├── ClassicMdiChild.cs ├── ClassicMdiClient.cs ├── ClassicMdiFrame.cs ├── Jellyfish.jpg ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── NotifyMdiClientEventArgs.cs ├── OldSchoolMdiDemo.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── TestElement.cs └── app.config ├── TestCmd ├── App.config ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── TestCmd.csproj ├── VisualTargetDemo ├── App.xaml ├── App.xaml.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── VisualTargetDemo.csproj ├── Window1.xaml ├── Window1.xaml.cs └── app.config ├── WeakEventDemo ├── App.xaml ├── App.xaml.cs ├── CompositionTargetRenderingEvent.cs ├── Event.cs ├── EventSubscription.cs ├── EventSubscriptionOwner.cs ├── InstanceEventExtensions.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── WeakEventDemo.csproj └── WeakReference.cs ├── WindowsFormsControls ├── ControlMix.Designer.cs ├── ControlMix.cs ├── ControlMix.resx ├── DataForm.Designer.cs ├── DataForm.cs ├── DataForm.resx ├── MediaPlayer.Designer.cs ├── MediaPlayer.cs ├── MediaPlayer.resx ├── Properties │ └── AssemblyInfo.cs └── WindowsFormsControls.csproj └── XnaControls ├── Properties └── AssemblyInfo.cs ├── XnaControls.csproj └── XnaHwndHost.cs /.editorconfig: -------------------------------------------------------------------------------- 1 | ; Top-most http://editorconfig.org/ file 2 | root = true 3 | 4 | [*] 5 | end_of_line = CRLF 6 | 7 | ; 4-column tab indentation 8 | [*.{cs,csproj,xaml,xml,props,targets}] 9 | indent_style = space 10 | indent_size = 4 11 | 12 | [*.{md,yml}] 13 | indent_style = space 14 | indent_size = 2 15 | 16 | 17 | [*.cs] 18 | # WPF0011: Containing type should be used as registered owner. 19 | dotnet_diagnostic.WPF0011.severity = error 20 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Jan Karger ツ ☀ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Microsoft.DwayneNeed 2 | Samples and reusable code for accomplishing interesting scenarios in WPF (incl. Dwayne Need's WPF AirspaceDecorator). https://microsoftdwayneneed.codeplex.com 3 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgilePairingBacklog", "AgilePairingBacklog\AgilePairingBacklog.csproj", "{04039A18-004F-4EC5-812C-ED8A775C28E1}" 5 | EndProject 6 | Global 7 | GlobalSection(TeamFoundationVersionControl) = preSolution 8 | SccNumberOfProjects = 2 9 | SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} 10 | SccTeamFoundationServer = https://tfs.codeplex.com/tfs/tfs06 11 | SccLocalPath0 = . 12 | SccProjectUniqueName1 = AgilePairingBacklog\\AgilePairingBacklog.csproj 13 | SccProjectName1 = AgilePairingBacklog 14 | SccLocalPath1 = AgilePairingBacklog 15 | EndGlobalSection 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Any CPU = Debug|Any CPU 18 | Release|Any CPU = Release|Any CPU 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {04039A18-004F-4EC5-812C-ED8A775C28E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {04039A18-004F-4EC5-812C-ED8A775C28E1}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {04039A18-004F-4EC5-812C-ED8A775C28E1}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {04039A18-004F-4EC5-812C-ED8A775C28E1}.Release|Any CPU.Build.0 = Release|Any CPU 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/App.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace AgilePairingBacklog 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Content/people.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MahApps/Microsoft.DwayneNeed/bba80214c5e38cdef0b75d2ebb335bab7a7ecc43/src/AgilePairingBacklog/AgilePairingBacklog/Content/people.png -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Content/person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MahApps/Microsoft.DwayneNeed/bba80214c5e38cdef0b75d2ebb335bab7a7ecc43/src/AgilePairingBacklog/AgilePairingBacklog/Content/person.png -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Content/tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MahApps/Microsoft.DwayneNeed/bba80214c5e38cdef0b75d2ebb335bab7a7ecc43/src/AgilePairingBacklog/AgilePairingBacklog/Content/tasks.png -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Models/AgilePairingBacklogProject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.ComponentModel; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace AgilePairingBacklog.Models 10 | { 11 | public class AgilePairingBacklogProject : ModelBase 12 | { 13 | private ObservableCollection teamMembers = new ObservableCollection(); 14 | private ObservableCollection tasks = new ObservableCollection(); 15 | 16 | public ObservableCollection TeamMembers 17 | { 18 | get 19 | { 20 | return this.teamMembers; 21 | } 22 | } 23 | 24 | public ObservableCollection Tasks 25 | { 26 | get 27 | { 28 | return this.tasks; 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Models/ModelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace AgilePairingBacklog.Models 9 | { 10 | public class ModelBase : INotifyPropertyChanged 11 | { 12 | public event PropertyChangedEventHandler PropertyChanged; 13 | 14 | protected bool SetValue(string name, ref T storage, T value) 15 | { 16 | // Use the dynamic keyword to enable the use of operators like "!=". 17 | dynamic dStorage = storage; 18 | 19 | if (dStorage != value) 20 | { 21 | storage = value; 22 | RaisePropertyChanged(name); 23 | 24 | return true; 25 | } 26 | 27 | return false; 28 | } 29 | 30 | protected void RaisePropertyChanged(string name) 31 | { 32 | PropertyChangedEventHandler handler = PropertyChanged; 33 | if (handler != null) 34 | { 35 | handler(this, new PropertyChangedEventArgs(name)); 36 | } 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Models/Pairing.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AgilePairingBacklog.Models 8 | { 9 | public class Pairing : ModelBase 10 | { 11 | private Person firstPerson; 12 | private Person secondPerson; 13 | private Task task; 14 | 15 | public Person FirstPerson 16 | { 17 | get 18 | { 19 | return this.firstPerson; 20 | } 21 | 22 | set 23 | { 24 | base.SetValue("FirstPerson", ref this.firstPerson, value); 25 | } 26 | } 27 | 28 | public Person SecondPerson 29 | { 30 | get 31 | { 32 | return this.secondPerson; 33 | } 34 | 35 | set 36 | { 37 | base.SetValue("SecondPerson", ref this.secondPerson, value); 38 | } 39 | } 40 | 41 | public Task Task 42 | { 43 | get 44 | { 45 | return this.task; 46 | } 47 | 48 | set 49 | { 50 | base.SetValue("Task", ref this.task, value); 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Models/TaskStatus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AgilePairingBacklog.Models 8 | { 9 | public enum TaskStatus 10 | { 11 | Proposed, 12 | Active, 13 | Blocked, 14 | Review, 15 | Completed 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.34003 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AgilePairingBacklog.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/AgilePairingBacklog/AgilePairingBacklog/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/CustomBitmapDemo/App.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/CustomBitmapDemo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Windows; 6 | 7 | namespace CustomBitmapDemo 8 | { 9 | /// 10 | /// Interaction logic for App.xaml 11 | /// 12 | public partial class App : Application 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/CustomBitmapDemo/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.18010 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CustomBitmapDemo.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/CustomBitmapDemo/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/CustomBitmapDemo/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/D2DSamples/D2DSamples.cpp: -------------------------------------------------------------------------------- 1 | // D2DSamples.cpp : Defines the exported functions for the DLL application. 2 | // 3 | 4 | #include "stdafx.h" 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/D2DSamples/D2DSamples.def: -------------------------------------------------------------------------------- 1 | LIBRARY "D2DSamples.dll" 2 | 3 | EXPORTS 4 | CreateDemoHelloWorldApp 5 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/D2DSamples/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the entry point for the DLL application. 2 | #include "stdafx.h" 3 | 4 | BOOL APIENTRY DllMain( HMODULE hModule, 5 | DWORD ul_reason_for_call, 6 | LPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return TRUE; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/D2DSamples/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // D2DSamples.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/D2DSamples/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/App.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Windows; 7 | 8 | namespace DemoApp 9 | { 10 | /// 11 | /// Interaction logic for App.xaml 12 | /// 13 | public partial class App : Application 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/AirspaceDemoMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace DemoApp.Demos.Airspace 7 | { 8 | public enum AirspaceDemoMode 9 | { 10 | None, 11 | Clipping, 12 | Redirection, 13 | Custom 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/D2DSample.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/D2DSample.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Runtime.InteropServices; 6 | using System.Text; 7 | using System.Windows; 8 | using System.Windows.Controls; 9 | using System.Windows.Data; 10 | using System.Windows.Documents; 11 | using System.Windows.Input; 12 | using System.Windows.Media; 13 | using System.Windows.Media.Imaging; 14 | using System.Windows.Navigation; 15 | using System.Windows.Shapes; 16 | using Microsoft.DwayneNeed.Interop; 17 | using Microsoft.DwayneNeed.Win32.User32; 18 | 19 | namespace DemoApp.Demos.Airspace 20 | { 21 | /// 22 | /// Interaction logic for D2DSample.xaml 23 | /// 24 | public partial class D2DSample : Grid 25 | { 26 | public D2DSample() 27 | { 28 | InitializeComponent(); 29 | 30 | // TODO: DestroyWindow 31 | CallbackHwndHost hwndHost = new CallbackHwndHost((parent) => CreateDemoHelloWorldApp(parent), (hwnd) => { }); 32 | 33 | TheGrid.Children.Add(hwndHost); 34 | } 35 | 36 | [DllImport("D2DSamples.dll")] 37 | private static extern HWND CreateDemoHelloWorldApp(HWND parent); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Model/MdiDemoColorGridContent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Controls.Primitives; 6 | using System.Windows.Media; 7 | 8 | namespace DemoApp.Demos.Airspace.Model 9 | { 10 | public class MdiDemoColorGridContent : MdiDemoContent 11 | { 12 | #region NumElements 13 | /// 14 | /// The number of cells in the color grid. 15 | /// 16 | public int NumberOfCells 17 | { 18 | get { return _numberOfCells; } 19 | set 20 | { 21 | SetValue("NumberOfCells", ref _numberOfCells, value); 22 | } 23 | } 24 | 25 | private int _numberOfCells; 26 | #endregion 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Model/MdiDemoCommands.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Input; 6 | 7 | namespace DemoApp.Demos.Airspace.Model 8 | { 9 | public static class MdiDemoCommands 10 | { 11 | public static RoutedCommand NewWorkspace = new RoutedCommand("NewWorkspace", typeof(MdiDemoCommands)); 12 | public static RoutedCommand OpenWorkspace = new RoutedCommand("OpenWorkspace", typeof(MdiDemoCommands)); 13 | public static RoutedCommand SaveWorkspace = new RoutedCommand("SaveWorkspace", typeof(MdiDemoCommands)); 14 | public static RoutedCommand SaveWorkspaceAs = new RoutedCommand("SaveWorkspaceAs", typeof(MdiDemoCommands)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Model/MdiDemoContent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using DemoApp.Model; 6 | using System.Windows; 7 | 8 | namespace DemoApp.Demos.Airspace.Model 9 | { 10 | public class MdiDemoContent : ModelBase 11 | { 12 | #region WindowRect 13 | public Rect WindowRect 14 | { 15 | get { return _windowRect; } 16 | set { SetValue("WindowRect", ref _windowRect, value); } 17 | } 18 | 19 | private Rect _windowRect = new Rect(0,0,300,200); 20 | #endregion 21 | 22 | #region Title 23 | public string Title 24 | { 25 | get { return _title; } 26 | set { SetValue("Title", ref _title, value); } 27 | } 28 | 29 | private string _title = String.Empty; 30 | #endregion 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Model/MdiDemoPageContent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace DemoApp.Demos.Airspace.Model 7 | { 8 | public class MdiDemoPageContent : MdiDemoContent 9 | { 10 | public Uri Uri 11 | { 12 | get { return _uri; } 13 | set { SetValue("Uri", ref _uri, value); } 14 | } 15 | 16 | private Uri _uri; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Topic.xaml: -------------------------------------------------------------------------------- 1 |  12 | 13 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/Topic.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using System.Windows.Data; 8 | using System.Windows.Documents; 9 | using System.Windows.Input; 10 | using System.Windows.Media; 11 | using System.Windows.Media.Imaging; 12 | using System.Windows.Navigation; 13 | using System.Windows.Shapes; 14 | 15 | namespace DemoApp.Demos.Airspace 16 | { 17 | /// 18 | /// Interaction logic for Topic.xaml 19 | /// 20 | public partial class Topic : DemoApp.Model.Topic 21 | { 22 | public Topic() 23 | { 24 | InitializeComponent(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/WPFCubes.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using System.Windows.Data; 8 | using System.Windows.Documents; 9 | using System.Windows.Input; 10 | using System.Windows.Media; 11 | using System.Windows.Media.Imaging; 12 | using System.Windows.Navigation; 13 | using System.Windows.Shapes; 14 | 15 | namespace DemoApp.Demos.Airspace 16 | { 17 | /// 18 | /// Interaction logic for WPFCubes.xaml 19 | /// 20 | public partial class WPFCubes : Grid 21 | { 22 | public WPFCubes() 23 | { 24 | InitializeComponent(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Microsoft.DwayneNeed/DemoApp/Demos/Airspace/WPFDataForm.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |