summaryrefslogtreecommitdiff
path: root/docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml')
-rw-r--r--docs/Xamarin.Forms.Core/Xamarin.Forms/DataTemplateSelector.xml121
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>