Skip to content

Instantly share code, notes, and snippets.

@deapsquatter
deapsquatter / gist:5441038
Created April 23, 2013 05:27
Event subscription on service class
var connection = Mvx.Resolve<INetworkConnection>();
connection.OnChange += () => RaisePropertyChanged("IsConnecting")
@deapsquatter
deapsquatter / gist:5441090
Created April 23, 2013 05:44
Registering a plugin
public override void LoadPlugins (IMvxPluginManager pluginManager)
{
base.LoadPlugins (pluginManager);
pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Messenger.PluginLoader> ();
}
@deapsquatter
deapsquatter / gist:5441110
Created April 23, 2013 05:50
Registering for a message
public HomeVM ()
{
token = MessageHub.Subscribe<CoreStatusMessage> ((d) => CoreStatusChanged(d.CoreStatus));
}
@deapsquatter
deapsquatter / gist:5441454
Last active December 16, 2015 13:28
Connection status changed
void ConnectionChanged (CoreStatusType coreStatus)
{
IMvxMessenger messenger = Mvx.Resolve(IMvxMessenger);
messenger.Publish (new CoreStatusMessage(sender, coreStatus));
}
@deapsquatter
deapsquatter / gist:5644550
Created May 24, 2013 16:05
Useful in Xamarin.Droid when having to deal with Java.Util.IEnumeration. Now you can use Linq.
public static class Extensions
{
public static IEnumerable<T> GetEnumerable<T>(this Java.Util.IEnumeration enumeration) where T : class
{
while (enumeration.HasMoreElements)
yield return enumeration.NextElement() as T;
}
}
@deapsquatter
deapsquatter / gist:5719733
Last active December 18, 2015 03:39
An iPhone presenter for use with MvxTabBarViewController (MvvmCross)
class IPhoneViewPresenter : MvxModalNavSupportTouchViewPresenter
{
public IPhoneViewPresenter (UIApplicationDelegate applicationDelegate, UIWindow window)
:base(applicationDelegate, window)
{
}
HomeView homeView;
protected override UIViewController CurrentTopViewController
@deapsquatter
deapsquatter / gist:5823304
Created June 20, 2013 14:40
Example test using Async
[Test( Description="Should Login OK" )]
public async void OK ()
{
var loginSession = LoginSession.Instance;
await loginSession.Login ("user", "password");
Assert.True (LoginSession.Instance.LoggedIn);
}
@deapsquatter
deapsquatter / gist:6778696
Last active December 24, 2015 09:39
Binding a NSTableViewSource
var source = new CsTableViewSource (myNSTableView);
var binding = this.CreateBindingSet<TaskManagerViewController, TaskManagerVM> ();
binding.Bind (source).For ((s) => s.ItemsSource).To ((vm) => vm.MyEnumerable);
binding.Apply ();
myNSTableView.Source = source;
using System;
using Cirrious.CrossCore.Core;
using Cirrious.MvvmCross.Binding.BindingContext;
using MonoMac.AppKit;
using MonoMac.Foundation;
namespace CentraStage.Mac
{
[Register("CsTableCellView")]
public class CsTableCellView : NSTableCellView, IMvxBindingContextOwner, IMvxDataConsumer
using System;
using MonoMac.AppKit;
using MonoMac.Foundation;
namespace CentraStage.Mac
{
[Register("CsTableColumn")]
public class CsTableColumn : NSTableColumn
{
#region Constructors