Hi,
I cant figure this out:
I don't know if this is the correct aproach, neither the arquitecture. But works on android and let me create pages with less code.
I have what i called 'BaseQueryPage', this inherit from ContentPage.
Inside BaseQueryPage I have this code:
internal virtual void UpdateLayout(T data)
{
try
{
if (string.IsNullOrEmpty(data.Error))
{
DateLabel.Text = GetHttpResponseMessage(data);
var layout = new StackLayout()
{
Padding = new Thickness(5, 0),
Children =
{
CreateTitle(App.StockAccountNumber),
//CreateHeader(data),
new ScrollView()
{
Content = CreateView(data),
VerticalOptions = LayoutOptions.Fill,
},
// CreateFooter(data),
new StackLayout()
{
Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.Fill,
Children =
{
DateLabel,
RefreshButton,
this.FormActivityIndicator
}
},
ErrorLabel
}
};
Content = layout; // <- This Line pop ups the error
}
SetErrorMessage(data.Error);
}
catch (Exception ex)
{
var a = ex;
}
}
whenever i call any of these methods:
CreateView();
CreateFooter();
CreateHeader();
I get the title error:
Lets, take any of these Functions:
internal virtual View CreateHeader(T data)
{
return null;
}
On the Actual View:
internal override View CreateHeader(AccountBriefModel acountBrief)
{
var grid = new Grid
{
HorizontalOptions = LayoutOptions.FillAndExpand,
MinimumHeightRequest = 15,
RowSpacing = 0,
ColumnSpacing = 0,
Padding = new Thickness(2)
};
grid.Children.Add(CreateLabel("Ticker", TextAlignment.Start, false, Color.White, Color.FromHex(SysVar.GetUI("headerColor"))), 0, 2, 0, 1);
grid.Children.Add(CreateLabel("Precio", TextAlignment.End, false, Color.White, Color.FromHex(SysVar.GetUI("headerColor"))), 2, 4, 0, 1);
grid.Children.Add(CreateLabel("Cantidad", TextAlignment.End, false, Color.White, Color.FromHex(SysVar.GetUI("headerColor"))), 4, 6, 0, 1);
grid.Children.Add(CreateLabel("Monto", TextAlignment.End, false, Color.White, Color.FromHex(SysVar.GetUI("headerColor"))), 6, 9, 0, 1);
var ly = new StackLayout()
{
Orientation = StackOrientation.Vertical,
HorizontalOptions = LayoutOptions.Fill,
Children = { grid }
};
return ly;
}
I don't know what I am doing wrong...
The function returns everything ok.
Thanks!
(SstackTrace: " at System.ThrowHelper.ThrowArgumentNullException (ExceptionArgument argument) [0x00000] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/throwhelper.cs:82
at System.Collections.Generic.Dictionary2[TKey,TValue].FindEntry (System.Collections.Generic.TKey key) [0x0000b] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/collections/generic/dictionary.cs:292 at System.Collections.Generic.Dictionary
2[TKey,TValue].ContainsKey (System.Collections.Generic.TKey key) [0x00000] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/collections/generic/dictionary.cs:221
at Xamarin.Forms.Platform.iOS.EventTracker.LoadRecognizers () [0x0001e] in :0
at Xamarin.Forms.Platform.iOS.EventTracker.OnElementChanged (System.Object sender, Xamarin.Forms.Platform.iOS.VisualElementChangedEventArgs e) [0x0004e] in :0
at Xamarin.Forms.Platform.iOS.EventTracker.LoadEvents (UIKit.UIView handler) [0x0004e] in :0
at Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].SetElement (Xamarin.Forms.Platform.iOS.TElement element) [0x000f3] in <filename unknown>:0 at Xamarin.Forms.Platform.iOS.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.iOS.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001b] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildAdded (Xamarin.Forms.VisualElement view) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.Load () [0x00023] in :0
at Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].SetElement (Xamarin.Forms.Platform.iOS.TElement element) [0x000cc] in <filename unknown>:0 at Xamarin.Forms.Platform.iOS.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.iOS.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001b] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildAdded (Xamarin.Forms.VisualElement view) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.Load () [0x00023] in :0
at Xamarin.Forms.Platform.iOS.ScrollViewRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x0008e] in :0
at Xamarin.Forms.Platform.iOS.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001b] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildAdded (Xamarin.Forms.VisualElement view) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.Load () [0x00023] in :0
at Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].SetElement (Xamarin.Forms.Platform.iOS.TElement element) [0x000cc] in <filename unknown>:0 at Xamarin.Forms.Platform.iOS.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.iOS.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001b] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildAdded (Xamarin.Forms.VisualElement view) [0x00000] in :0
at Xamarin.Forms.Platform.iOS.VisualElementPackager.OnChildAdded (System.Object sender, Xamarin.Forms.ElementEventArgs e) [0x0000f] in :0
at Xamarin.Forms.Element.OnChildAdded (Xamarin.Forms.Element child) [0x00037] in :0
at Xamarin.Forms.VisualElement.OnChildAdded (Xamarin.Forms.Element child) [0x00000] in :0
at Xamarin.Forms.Page.OnInternalAdded (Xamarin.Forms.VisualElement view) [0x00013] in :0
at Xamarin.Forms.Page.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0005f] in :0
at System.Collections.ObjectModel.ObservableCollection1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00012] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:286 at System.Collections.ObjectModel.ObservableCollection
1[T].OnCollectionChanged (NotifyCollectionChangedAction action, System.Object item, Int32 index) [0x00000] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:349
at System.Collections.ObjectModel.ObservableCollection1[T].InsertItem (Int32 index, System.Collections.ObjectModel.T item) [0x00024] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/System/compmod/system/collections/objectmodel/observablecollection.cs:217 at System.Collections.ObjectModel.Collection
1[T].Add (System.Collections.ObjectModel.T item) [0x00023] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/collections/objectmodel/collection.cs:76
at Xamarin.Forms.ContentPage.set_Content (Xamarin.Forms.View value) [0x00044] in :0
at Gallo.Mobile.UI.BaseHelpers.BaseQueryPage`1[T].UpdateLayout (Gallo.Mobile.UI.BaseHelpers.T data) [0x00112] in c:\Work\Gallo\EstudioGallo\Gallo.Mobile.UI\Gallo.Mobile.UI\BaseHelpers\BaseQueryPage.cs:128 ")