diff options
Diffstat (limited to 'docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml')
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml new file mode 100644 index 00000000..b8e5f4bf --- /dev/null +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml @@ -0,0 +1,121 @@ +<Type Name="DataTemplateSelector" FullName="Xamarin.Forms.DataTemplateSelector"> + <TypeSignature Language="C#" Value="public abstract class DataTemplateSelector : Xamarin.Forms.DataTemplate" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit DataTemplateSelector extends Xamarin.Forms.DataTemplate" /> + <AssemblyInfo> + <AssemblyName>Xamarin.Forms.Core</AssemblyName> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Xamarin.Forms.DataTemplate</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>Selects <see cref="T:Xamarin.Forms.DataTemplate" /> objects by data type and container.</summary> + <remarks><para>Application developers override the <see cref="M:Xamarin.Froms.DataTemplateSelector.OnSelectTemplate" /> method to return a unique <see cref="T:Xamarin.Forms.DataTemplate" /> for a data type and parent container combination. Additionally, because the same exact template instance must be returned for a given piece of data across successive calls to <see cref="M:Xamarin.Froms.DataTemplateSelector.SelectTemplate" />, developers should create and store these <see cref="T:Xamarin.Forms.DataTemplate" /> in their constructor overrides.</para> +<block subset="none" type="note">Developers should note the following items: <list type="bullet"> + <item><term>OnSelectTemplate must not return another DataTemplateSelector, and + </term></item> + <item><term>The Android platform is limited to 20 templates per list view.</term></item> + </list></block> +<example>The following example shows a basic use: +<code lang="c#"><![CDATA[class MyDataTemplateSelector : DataTemplateSelector +{ + public MyDataTemplateSelector () + { + // Retain instances + this.templateOne = new DataTemplate (typeof (ViewA)); + this.templateTwo = new DataTemplate (typeof (ViewB)); + } + + protected override DataTemplate OnSelectTemplate (object item, BindableObject container) + { + if (item is double) + return this.templateOne; + return this.templateTwo; + } + + private readonly DataTemplate templateOne; + private readonly DataTemplate templateTwo; +}]]></code></example></remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="protected DataTemplateSelector ();" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>Creates a new <see cref="T:Xamarin.Forms.DataTemplateSelector" /> with default values.</summary> + <remarks>Application developers should provide their own constructors to create and store the <see cref="T:Xamarin.Forms.DataTemplate" /> objects that can be returned by this <see cref="T:Xamarin.Forms.DataTemplateSelector" />.</remarks> + </Docs> + </Member> + <Member MemberName="OnSelectTemplate"> + <MemberSignature Language="C#" Value="protected abstract Xamarin.Forms.DataTemplate OnSelectTemplate (object item, Xamarin.Forms.BindableObject container);" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class Xamarin.Forms.DataTemplate OnSelectTemplate(object item, class Xamarin.Forms.BindableObject container) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.DataTemplate</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="item" Type="System.Object" /> + <Parameter Name="container" Type="Xamarin.Forms.BindableObject" /> + </Parameters> + <Docs> + <param name="item">The data for which to return a template.</param> + <param name="container">An optional container object in which the developer may have opted to store <see cref="T:Xamarin.Forms.DataTemplateSelector" /> objects.</param> + <summary>Calls <see cref="M:Xamarin.Forms.DataTemplateSelector.SelectTemplate" />.</summary> + <returns>A developer-defined <see cref="T:Xamarin.Forms.DataTemplate" /> that can be used to display <paramref name="item" />.</returns> + <remarks><para>This method throws an exception if <see cref="M:Xamarin.Forms.DataTemplateSelector.SelectTemplate" /> returns an instance of <see cref="T:Xamarin.Forms.DataTemplateSelector" />.</para></remarks> + </Docs> + </Member> + <Member MemberName="SelectTemplate"> + <MemberSignature Language="C#" Value="public Xamarin.Forms.DataTemplate SelectTemplate (object item, Xamarin.Forms.BindableObject container);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Xamarin.Forms.DataTemplate SelectTemplate(object item, class Xamarin.Forms.BindableObject container) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.DataTemplate</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="item" Type="System.Object" /> + <Parameter Name="container" Type="Xamarin.Forms.BindableObject" /> + </Parameters> + <Docs> + <param name="item">The data for which to return a template.</param> + <param name="container">An optional container object in which the developer may have opted to store <see cref="T:Xamarin.Forms.DataTemplateSelector" /> objects.</param> + <summary>When overriden by developers in a derived class, returns a <see cref="T:Xamarin.Forms.DataTemplate" /> for <paramref name="item" />.</summary> + <returns><para>A developer-defined <see cref="T:Xamarin.Forms.DataTemplate" /> that can be used to display <paramref name="item" />.</para></returns> + <remarks><para>Developers should ensure that this method never returns a <see cref="T:Xamarin.Forms.DataTemplateSelector" /> object, as this will cause the <see cref="M:Xamarin.Forms.DataTemplateSelector.OnSelectTemplate" /> method to throw an exception.</para> + <block subset="none" type="note"><para>Developers should note that the he Android platform is limited to 20 templates per list view.</para></block> +<example>The following example shows a basic use: +<code lang="c#"><![CDATA[class MyDataTemplateSelector : DataTemplateSelector +{ + public MyDataTemplateSelector () + { + // Retain instances + this.templateOne = new DataTemplate (typeof (ViewA)); + this.templateTwo = new DataTemplate (typeof (ViewB)); + } + + protected override DataTemplate OnSelectTemplate (object item, BindableObject container) + { + if (item is double) + return this.templateOne; + return this.templateTwo; + } + + private readonly DataTemplate templateOne; + private readonly DataTemplate templateTwo; +}]]></code></example></remarks> + </Docs> + </Member> + </Members> +</Type> |