Ich habe eine Listenansicht mit einer Kontextaktion und möchte sie unter bestimmten Umständen deaktivieren.So verschieben Sie eine View Cell in eine eigene XAML-Datei in Xamarin Forms
Eine Antwort here schlägt vor, die Ansichtszelle in ihre eigene XAML-Datei zu verschieben und OnBindingContextChanged zu verwenden, um einzelne Kontextaktionen zu aktivieren oder zu deaktivieren.
Ich habe versucht, die Ansicht Zelle in eine Datei zu bewegen, die wie folgt aussieht:
<forms:ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:forms="http://xamarin.com/schemas/2014/forms"
xmlns:userControls="clr-namespace:Fraedom.UserControls;assembly=Fraedom"
x:Class="Fraedom.UserControls.ApprovalTemplate">
<forms:ViewCell.ContextActions>
<forms:MenuItem Text="Approve" />
</forms:ViewCell.ContextActions>
aber eine Fehlermeldung erhalten, wenn ich es aus der Listenansicht wie diese Referenz:
<ListView.ItemTemplate>
<DataTemplate>
<dataTemplates:ApprovalTemplate></dataTemplates:ApprovalTemplate>
</DataTemplate>
</ListView.ItemTemplate>
ich auch versucht, Verschieben Sie die Datenvorlage anstelle der Ansichtszelle, und versuchen Sie, beide in einer Inhaltsansicht zu umbrechen (was nicht möglich ist und auch keine Ansicht ist).
Irgendwelche Ideen? Hier
ist der Fehler:
System.NullReferenceExceptionObject reference not set to an instance of an object
at Xamarin.Forms.Platform.Android.Platform.UpdateGlobalContext (Xamarin.Forms.VisualElement view) [0x0000b] in <filename unknown>:0
at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x00000] in <filename unknown>:0
at Xamarin.Forms.Platform.Android.ViewCellRenderer.GetCellCore (Xamarin.Forms.Cell item, Android.Views.View convertView, Android.Views.ViewGroup parent, Android.Content.Context context) [0x00058] in <filename unknown>:0
at Xamarin.Forms.Platform.Android.CellRenderer.GetCell (Xamarin.Forms.Cell item, Android.Views.View convertView, Android.Views.ViewGroup parent, Android.Content.Context context) [0x00045] in <filename unknown>:0
at Xamarin.Forms.Platform.Android.CellFactory.GetCell (Xamarin.Forms.Cell item, Android.Views.View convertView, Android.Views.ViewGroup parent, Android.Content.Context context, Xamarin.Forms.View view) [0x00023] in <filename unknown>:0
at Xamarin.Forms.Platform.Android.ListViewAdapter.GetView (Int32 position, Android.Views.View convertView, Android.Views.ViewGroup parent) [0x00193] in <filename unknown>:0
at Android.Widget.BaseAdapter.n_GetView_ILandroid_view_View_Landroid_view_ViewGroup_ (IntPtr jnienv, IntPtr native__this, Int32 position, IntPtr native_convertView, IntPtr native_parent) [0x0001a] in /Users/builder/data/lanes/3053/a94a03b5/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Widget.BaseAdapter.cs:509
at (wrapper dynamic-method) System.Object:1c8a63a2-474e-436f-9097-a2380578ec91 (intptr,intptr,int,intptr,intptr)