Skip to content

Commit 5786d49

Browse files
committed
workaround for xamarin bug on alpha - no idea why this cast throws a null ref exception
1 parent 8a6a378 commit 5786d49

File tree

7 files changed

+33
-8
lines changed

7 files changed

+33
-8
lines changed

Cirrious/Cirrious.MvvmCross.AutoView.Touch/Views/Dialog/MvxAutoDialogTouchView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public MvxAutoDialogTouchView()
3232

3333
public new MvxViewModel ViewModel
3434
{
35-
get { return (MvxViewModel) base.ViewModel; }
35+
get { return base.ViewModel as MvxViewModel; }
3636
set { base.ViewModel = value; }
3737
}
3838

Cirrious/Cirrious.MvvmCross.AutoView.Touch/Views/MvxMissingViewController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class MvxMissingViewController
2121
{
2222
public new MvxViewModel ViewModel
2323
{
24-
get { return (MvxViewModel) base.ViewModel; }
24+
get { return base.ViewModel as MvxViewModel; }
2525
set { base.ViewModel = value; }
2626
}
2727

Cirrious/Cirrious.MvvmCross.Dialog.Touch/MvxDialogViewController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public object DataContext
3636

3737
public IMvxViewModel ViewModel
3838
{
39-
get { return (IMvxViewModel) DataContext; }
39+
get { return DataContext as IMvxViewModel; }
4040
set { DataContext = value; }
4141
}
4242

Cirrious/Cirrious.MvvmCross.Touch/Views/MvxCollectionViewController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public object DataContext
4444

4545
public IMvxViewModel ViewModel
4646
{
47-
get { return (IMvxViewModel) DataContext; }
47+
get { return DataContext as IMvxViewModel; }
4848
set { DataContext = value; }
4949
}
5050

Cirrious/Cirrious.MvvmCross.Touch/Views/MvxTabBarViewController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public object DataContext
4040

4141
public IMvxViewModel ViewModel
4242
{
43-
get { return (IMvxViewModel) DataContext; }
43+
get { return DataContext as IMvxViewModel; }
4444
set { DataContext = value; }
4545
}
4646

Cirrious/Cirrious.MvvmCross.Touch/Views/MvxTableViewController.cs

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Cirrious.MvvmCross.ViewModels;
1212
using MonoTouch.Foundation;
1313
using MonoTouch.UIKit;
14+
using Cirrious.CrossCore;
1415

1516
namespace Cirrious.MvvmCross.Touch.Views
1617
{
@@ -44,8 +45,32 @@ public object DataContext
4445

4546
public IMvxViewModel ViewModel
4647
{
47-
get { return (IMvxViewModel) DataContext; }
48-
set { DataContext = value; }
48+
get {
49+
/*
50+
Mvx.Trace ("I am in .ViewModel!");
51+
if (BindingContext == null)
52+
Mvx.Trace ("BindingContext is null!");
53+
Mvx.Trace ("I am in .ViewModel 2!");
54+
if (DataContext == null)
55+
Mvx.Trace ("DataContext is null!");
56+
Mvx.Trace ("I am in .ViewModel 3!");
57+
58+
var c = DataContext;
59+
Mvx.Trace ("I am in .ViewModel 4!");
60+
var d = c as IMvxViewModel;
61+
Mvx.Trace ("I am in .ViewModel 5!");
62+
63+
var e = (IMvxViewModel)d;
64+
Mvx.Trace ("I am in .ViewModel 6!");
65+
if (d == null)
66+
Mvx.Trace ("d was null!");
67+
68+
if (e == null)
69+
Mvx.Trace ("e was null!");
70+
*/
71+
return DataContext as IMvxViewModel;
72+
}
73+
set { DataContext = value; }
4974
}
5075

5176
public MvxViewModelRequest Request { get; set; }

Cirrious/Cirrious.MvvmCross.Touch/Views/MvxViewController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public object DataContext
4242

4343
public IMvxViewModel ViewModel
4444
{
45-
get { return (IMvxViewModel) DataContext; }
45+
get { return DataContext as IMvxViewModel; }
4646
set { DataContext = value; }
4747
}
4848

0 commit comments

Comments
 (0)