Quantcast
Channel: User Yura Babiy - Stack Overflow
Viewing all articles
Browse latest Browse all 39

Strange NullReferenceException and useless Call Stack

$
0
0

I decided to change layout in my xaml page from absolut to stacklayout and after that I had nullre.. exception when my app starts running. I commented from one to another all elements in page, even stacklayout, but I still have error. I tried to use Call Stack at first time, but I don't see what I can do with it usefull. Before I started to change my page, all was working well.Besides, it is Master page for MasterDetailPage. Xaml.cs file is empty.Here is xaml now:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"                 xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"                 xmlns:b="clr-namespace:Xamarin.Behaviors;assembly=Xamarin.Behaviors"                 prism:ViewModelLocator.AutowireViewModel="True"                 x:Class="GitRemote.Views.MasterPage"                 Title="Necessary"><!--<StackLayout x:Name="MasterMenu"                   HorizontalOptions="StartAndExpand"                   VerticalOptions="StartAndExpand">        --><!--<BoxView x:Name="GrayHeader"                 Color="#CACED2"                 HorizontalOptions="StartAndExpand"                 VerticalOptions="Start"                 HeightRequest="100"/>--><!--        --><!--<Image x:Name="MasterProfileImage"               WidthRequest="50"               HeightRequest="50"               Source="ic_account_circle_white_24dp.png"               HorizontalOptions="Start"               VerticalOptions="Start"               Margin="15, 15, 0, 0"/>--><!--        --><!--<Image x:Name="LogOutImage"               WidthRequest="45"               HeightRequest="45"               Source="ic_menu_logout.png"               HorizontalOptions="End"               VerticalOptions="Start"               Margin="0, 15, 15, 0"/>--><!--        --><!--<Label x:Name="MasterProfileName"               Text="GitRemote"               FontAttributes="Bold"               FontSize="18"               HorizontalOptions="Start"               VerticalOptions="Start"               TextColor="Black"               Margin="15, 80, 0, 0"/>--><!--        --><!--<ListView x:Name="MasterPageMenu"                  SeparatorColor="Transparent"                  HorizontalOptions="Start"                  VerticalOptions="Start"                  Margin="15, 120, 0, 0"                  ItemsSource="{Binding MenuItems}"                  SelectedItem="{Binding MenuItemSelectedProperty, Mode=TwoWay}"><ListView.ItemTemplate><DataTemplate><ViewCell><StackLayout Orientation="Horizontal"                             Spacing="15"                             Padding="10"><Label Text="{Binding Name}"                         FontSize="16"                         VerticalOptions="Center"                         FontAttributes="Bold"/><Image Source="{Binding ImageSource}"                         WidthRequest="25"                         HeightRequest="25" /></StackLayout></ViewCell></DataTemplate></ListView.ItemTemplate><b:Interaction.Behaviors><b:BehaviorCollection><b:EventToCommand EventName="ItemSelected"                                Command="{Binding MenuItemSelected}"></b:EventToCommand></b:BehaviorCollection></b:Interaction.Behaviors></ListView>--><!--</StackLayout>--></ContentPage>`

**This is how it looked before: **`

<!--Header--><BoxView x:Name="GrayHeader"         Style="{StaticResource GrayBoxView}"         AbsoluteLayout.LayoutBounds="{Binding MasterProfileGrayHeaderBounds}"         AbsoluteLayout.LayoutFlags="All"></BoxView><Image x:Name="MasterProfileImage"       WidthRequest="50"       HeightRequest="50"       Source="ic_account_circle_white_24dp.png"       AbsoluteLayout.LayoutBounds="{Binding MasterProfileImageBounds}"       AbsoluteLayout.LayoutFlags="None"></Image><Label x:Name="MasterProfileName"       Text="GitRemote"       FontAttributes="Bold"       FontSize="18"       AbsoluteLayout.LayoutBounds="{Binding MasterProfileNameBounds}"       AbsoluteLayout.LayoutFlags="None"></Label><!--Body--><ListView x:Name="MasterPageMenu"          SeparatorColor="Transparent"          AbsoluteLayout.LayoutBounds="{Binding MasterMenuBounds}"          AbsoluteLayout.LayoutFlags="None"          ItemsSource="{Binding MenuItems}"          SelectedItem="{Binding MenuItemSelectedProperty, Mode=TwoWay}"><ListView.ItemTemplate><DataTemplate><ViewCell><StackLayout Orientation="Horizontal" Spacing="15" Padding="10"> <Label Text="{Binding Name}" FontSize="16" VerticalOptions="Center" FontAttributes="Bold"/><Image Source="{Binding ImageSource}" WidthRequest="25" HeightRequest="25" /></StackLayout></ViewCell></DataTemplate></ListView.ItemTemplate><b:Interaction.Behaviors><b:BehaviorCollection><b:EventToCommand EventName="ItemSelected" Command="{Binding MenuItemSelected}"></b:EventToCommand></b:BehaviorCollection></b:Interaction.Behaviors></ListView> 

Here is my ViewModel now:

    using GitRemote.Models;using Prism.Commands;using Prism.Mvvm;using Prism.Navigation;using System.Collections.ObjectModel;namespace GitRemote.ViewModels{public class MasterPageViewModel : BindableBase{    #region Constants    private const string GistsPageImagePath = "ic_code_black_24dp.png";    private const string IssueDashboardPageImagePath = "ic_slow_motion_video_black_24dp.png";    private const string BookmarksPageImagePath = "ic_bookmark_black_24dp.png";    private const string ReportAnIssuePageImagePath = "ic_error_outline_black_24dp.png";    #endregion    //#region Bindable properties    //private Rectangle _masterProfileGrayHeaderBounds;    //public Rectangle MasterProfileGrayHeaderBounds    //{    //    get { return _masterProfileGrayHeaderBounds; }    //    set { SetProperty(ref _masterProfileGrayHeaderBounds, value); }    //}    //private Rectangle _masterProfileImageBounds;    //public Rectangle MasterProfileImageBounds    //{    //    get { return _masterProfileImageBounds; }    //    set { SetProperty(ref _masterProfileImageBounds, value); }    //}    //private Rectangle _masterProfileNameBounds;    //public Rectangle MasterProfileNameBounds    //{    //    get { return _masterProfileNameBounds; }    //    set { SetProperty(ref _masterProfileNameBounds, value); }    //}    //private Rectangle _masterMenuBounds;    //public Rectangle MasterMenuBounds    //{    //    get { return _masterMenuBounds; }    //    set { SetProperty(ref _masterMenuBounds, value); }    //}    //private MasterPageMenuItemModel _menuItemSelectedProperty;    //public MasterPageMenuItemModel MenuItemSelectedProperty    //{    //    get { return _menuItemSelectedProperty; }    //    set { SetProperty(ref _menuItemSelectedProperty, value); }    //}    ////#endregion    //private readonly INavigationService _navigationService;    //public ObservableCollection<MasterPageMenuItemModel> MenuItems;    //public DelegateCommand MenuItemSelected;    public MasterPageViewModel()    {        //_navigationService = navigationService;        //MenuItemSelected = new DelegateCommand(OnMenuItemSelected);        //MasterProfileGrayHeaderBounds = new Rectangle(0, 0, 1, 0.175);        //MasterProfileImageBounds = new Rectangle(16, 16, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        //MasterProfileNameBounds = new Rectangle(16, 70, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        //MasterMenuBounds = new Rectangle(16, 100 + 10, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        //MenuItems = new ObservableCollection<MasterPageMenuItemModel>        //{        //    new MasterPageMenuItemModel {Name = "GistsPage", ImageSource = GistsPageImagePath},        //    new MasterPageMenuItemModel {Name = "IssueDashboardPage", ImageSource = IssueDashboardPageImagePath},        //    new MasterPageMenuItemModel {Name = "BookmarksPage", ImageSource = BookmarksPageImagePath},        //    new MasterPageMenuItemModel {Name = "ReportAnIssuePage", ImageSource = ReportAnIssuePageImagePath}        //};    }    //private void OnMenuItemSelected()    //{    //    if ( MenuItemSelectedProperty == null ) return;    //    _navigationService.NavigateAsync(MenuItemSelectedProperty.Name, animated: false);    //    MenuItemSelectedProperty = null;    //}}}

And before:

 using GitRemote.Models;using Prism.Commands;using Prism.Mvvm;using Prism.Navigation;using System.Collections.ObjectModel;using Xamarin.Forms;namespace GitRemote.ViewModels{public class MasterPageViewModel : BindableBase{    #region Constants    private const string GistsPageImagePath = "ic_code_black_24dp.png";    private const string IssueDashboardPageImagePath = "ic_slow_motion_video_black_24dp.png";    private const string BookmarksPageImagePath = "ic_bookmark_black_24dp.png";    private const string ReportAnIssuePageImagePath = "ic_error_outline_black_24dp.png";    #endregion    #region Bindable properties    private Rectangle _masterProfileGrayHeaderBounds;    public Rectangle MasterProfileGrayHeaderBounds    {        get { return _masterProfileGrayHeaderBounds; }        set { SetProperty(ref _masterProfileGrayHeaderBounds, value); }    }    private Rectangle _masterProfileImageBounds;    public Rectangle MasterProfileImageBounds    {        get { return _masterProfileImageBounds; }        set { SetProperty(ref _masterProfileImageBounds, value); }    }    private Rectangle _masterProfileNameBounds;    public Rectangle MasterProfileNameBounds    {        get { return _masterProfileNameBounds; }        set { SetProperty(ref _masterProfileNameBounds, value); }    }    private Rectangle _masterMenuBounds;    public Rectangle MasterMenuBounds    {        get { return _masterMenuBounds; }        set { SetProperty(ref _masterMenuBounds, value); }    }    private MasterPageMenuItemModel _menuItemSelectedProperty;    public MasterPageMenuItemModel MenuItemSelectedProperty    {        get { return _menuItemSelectedProperty; }        set { SetProperty(ref _menuItemSelectedProperty, value); }    }    #endregion    private readonly INavigationService _navigationService;    public ObservableCollection<MasterPageMenuItemModel> MenuItems;    public DelegateCommand MenuItemSelected;    public MasterPageViewModel(INavigationService navigationService)    {        _navigationService = navigationService;        MenuItemSelected = new DelegateCommand(OnMenuItemSelected);        MasterProfileGrayHeaderBounds = new Rectangle(0, 0, 1, 0.175);        MasterProfileImageBounds = new Rectangle(16, 16, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        MasterProfileNameBounds = new Rectangle(16, 70, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        MasterMenuBounds = new Rectangle(16, 100 + 10, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize);        MenuItems = new ObservableCollection<MasterPageMenuItemModel>        {            new MasterPageMenuItemModel {Name = "GistsPage", ImageSource = GistsPageImagePath},            new MasterPageMenuItemModel {Name = "IssueDashboardPage", ImageSource = IssueDashboardPageImagePath},            new MasterPageMenuItemModel {Name = "BookmarksPage", ImageSource = BookmarksPageImagePath},            new MasterPageMenuItemModel {Name = "ReportAnIssuePage", ImageSource = ReportAnIssuePageImagePath}        };    }    private void OnMenuItemSelected()    {        if ( MenuItemSelectedProperty == null ) return;        _navigationService.NavigateAsync(MenuItemSelectedProperty.Name, animated: false);        MenuItemSelectedProperty = null;    }}}

I commented all stuff and I have no idea where and why it occuers.

On image is my call stack. But I don't know what it means and I can't do anything with it.enter image description here


Viewing all articles
Browse latest Browse all 39

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>