Skip to content

Instantly share code, notes, and snippets.

View dbuksbaum's full-sized avatar

David Buksbaum dbuksbaum

View GitHub Profile
@dbuksbaum
dbuksbaum / App.xaml
Created April 28, 2015 16:23
Caliburn.Micro – Hello World
<Application x:Class="HelloWorld.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:HelloWorld">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<local:HelloWorldBootStrapper x:Key="bootstrapper" />
</ResourceDictionary>
@dbuksbaum
dbuksbaum / Bootstrap.cs
Created April 26, 2015 04:04
Bootstrapping an Application with MEF and Autofac
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
using Autofac;
using Autofac.Builder;
namespace BootstrapTest
{
public sealed class Bootstrap
{
#region Static Fields
@dbuksbaum
dbuksbaum / Window1.cs
Last active August 29, 2015 14:19
Irregular Shaped Windows in WPF
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
DragMove();
@dbuksbaum
dbuksbaum / TypeTrackingExtension.cs
Created April 26, 2015 01:38
Type Tracking Extension for Unity
using System;
using Microsoft.Practices.Unity;
using System.Collections.Generic;
namespace Hazware.Commons.Unity
{
public class TypeTrackingExtension : UnityContainerExtension
{
#region Fields
private readonly Dictionary<Type, HashSet<string>> _registeredTypes = new Dictionary<Type, HashSet<string>>();
using Autofac;
using Autofac.Core;
using ReactiveUI;
using Splat;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace ReactiveUI
@dbuksbaum
dbuksbaum / Loader.cs
Created January 11, 2012 19:48
Loader for loading embedded assemblies
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
namespace Utility
{
public class Loader
@dbuksbaum
dbuksbaum / SingleInstanceManager.cs
Created January 11, 2012 19:47
SingleInstanceManager
using System;
using System.Linq;
using System.Windows;
using Microsoft.VisualBasic.ApplicationServices;
using StartupEventArgs = Microsoft.VisualBasic.ApplicationServices.StartupEventArgs;
namespace Utility
{
public class SingleInstanceManager : WindowsFormsApplicationBase
{
@dbuksbaum
dbuksbaum / ObjectExtensions.cs
Created January 11, 2012 19:46
Useful ObjectExtensions
public static class ObjectExtensions
{
/// <summary>
/// Returns the result of <paramref name="func"/> if <paramref name="obj"/> is not null.
/// <example>
/// <code>
/// Request.Url.Evaluate(x => x.Query)
/// </code>
/// </example>
/// </summary>
@dbuksbaum
dbuksbaum / EventAggregatorExtensions.cs
Created August 19, 2011 15:58
Caliburn.Micro Event Aggregator Extensions
public static class EventAggregatorExtensions
{
public static void Subscribe(this IEventAggregator eventAggregator, params IHandle[] handlers)
{
Subscribe(eventAggregator, (IEnumerable<IHandle>)handlers);
}
public static void Subscribe(this IEventAggregator eventAggregator, IEnumerable<IHandle> handlers)
{
foreach(var handler in handlers)
@dbuksbaum
dbuksbaum / ILogExtended.cs
Created July 5, 2011 03:07
ILog derivation for Caliburn.Micro
/// <summary>
/// Extension to the ILog interface to allow for richer Error messages.
/// Based on a discussion in the Caliburn.Micro discussion forum on Codeplex.
/// See <see cref="http://caliburnmicro.codeplex.com/discussions/261656"/>.
/// </summary>
public interface ILogExtended : ILog
{
/// <summary>
/// Logs the message as error.
/// </summary>