summaryrefslogtreecommitdiff
path: root/docs/Xamarin.Forms.Core/Xamarin.Forms/ItemsView`1.xml
blob: 31bd14aa18d10adde401a3d291e1e3115ab0d9c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
<Type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/mono/mono/master/mcs/tools/mdoc/Resources/monodoc-ecma.xsd" Name="ItemsView&lt;TVisual&gt;" FullName="Xamarin.Forms.ItemsView&lt;TVisual&gt;">
  <TypeSignature Language="C#" Value="public abstract class ItemsView&lt;TVisual&gt; : Xamarin.Forms.View where TVisual : BindableObject" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit ItemsView`1&lt;(class Xamarin.Forms.BindableObject) TVisual&gt; extends Xamarin.Forms.View" />
  <AssemblyInfo>
    <AssemblyName>Xamarin.Forms.Core</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <AssemblyVersion>1.1.0.0</AssemblyVersion>
    <AssemblyVersion>1.2.0.0</AssemblyVersion>
    <AssemblyVersion>1.3.0.0</AssemblyVersion>
    <AssemblyVersion>1.4.0.0</AssemblyVersion>
    <AssemblyVersion>1.5.0.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <TypeParameters>
    <TypeParameter Name="TVisual">
      <Constraints>
        <BaseTypeName>Xamarin.Forms.BindableObject</BaseTypeName>
      </Constraints>
    </TypeParameter>
  </TypeParameters>
  <Base>
    <BaseTypeName>Xamarin.Forms.View</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Docs>
    <typeparam name="TVisual">The type of visual that the <see cref="P:Xamarin.Forms.ItemsView{TVisual}.ItemsSource" /> items will be templated into.</typeparam>
    <summary>A base class for a view that contains a templated list of items.</summary>
    <remarks>
      <para>
        This class is used as a base class for views that wish to take in a list of user objects and produce views for each of them to be displayed, such as <see cref="T:Xamarin.Forms.ListView" />. The generic
        argument is used to specify the type of visual that the view expects. In the case of <see cref="T:Xamarin.Forms.ListView" />, only <see cref="T:Xamarin.Forms.Cell" /> subclasses are accepted, so that's
        what it provides as its argument.
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName="CreateDefault">
      <MemberSignature Language="C#" Value="protected abstract TVisual CreateDefault (object item);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance !TVisual CreateDefault(object item) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>TVisual</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="item" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="item">The user object </param>
        <summary>Creates a default <typeparamref name="TVisual" /> instance for <paramref name="item" />.</summary>
        <returns>An instance of the <typeparamref name="TVisual" /> class.</returns>
        <remarks>
          <para>This method is called by the templating system when <see cref="P:Xamarin.Forms.ItemsView{TVisual}.ItemTemplate" /> is <see langword="null" />.</para>
          <para>The <see cref="P:Xamarin.Forms.BindableObject.BindingContext" /> of the returned object will automatically be set to <paramref name="item" />, there is no
          need to set it yourself. If you do, it will be overridden.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ItemsSource">
      <MemberSignature Language="C#" Value="public System.Collections.IEnumerable ItemsSource { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.IEnumerable ItemsSource" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.IEnumerable</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets or sets the source of items to template and display.</summary>
        <value>To be added.</value>
        <remarks>
          <para>While any <see cref="T:System.Collections.IEnumerable" /> implementer is accepted, any that do not implement <see cref="T:System.Collections.IList" /> or <see cref="T:System.Collections.Generic.IReadOnlyList{T}" />
						(where T is a class) will be converted to list by iterating.</para>
          <para>If your collection implements <see cref="T:System.Collections.Specialized.INotifyCollectionChanged" />, any changes raised from the event on this interface will be reflected in the items view. Note that if the event
						is raised on another thread the main thread, the results will be unpredictable depending on the platform. To safely modify your collection (and raise the event) from another thread, call
						<see cref="M:Xamarin.Forms.BindingBase.EnableCollectionSynchronization" /> to enable proper synchronization of access to the thread.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ItemsSourceProperty">
      <MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty ItemsSourceProperty;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty ItemsSourceProperty" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Identifies the <see cref="P:Xamarin.Forms.ItemsView{TVisual}.ItemSource" /> property.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ItemTemplate">
      <MemberSignature Language="C#" Value="public Xamarin.Forms.DataTemplate ItemTemplate { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class Xamarin.Forms.DataTemplate ItemTemplate" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Xamarin.Forms.DataTemplate</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets or sets the <see cref="T:Xamarin.Forms.DataTemplate" /> to apply to the <see cref="M:Xamarin.Forms.ItemsView{TVisual}.ItemsSource" />.</summary>
        <value>The <see cref="T:Xamarin.Forms.DataTemplate" /> for the <see cref="T:Xamarin.Forms.ItemsView" />, or <see langword="null" /></value>
        <remarks>
          <para>The ItemTemplate is used to define the visual appearance of objects from the <see cref="P.Xamarin.Forms.ItemsView{TVisual}.ItemsSource" />. Through
          the item template you can set up data bindings to the user objects supplied to automatically fill in the visual and respond to any changes in the user
          object.</para>
          <para>If the item template is <see langword="null" />, <see cref="M.Xamarin.Forms.ItemsView{TVisual}.CreateDefault" /> is called and the result is used as the visual.</para>
          <example>
            <para>In this example, a template for a <see cref="T:Xamarin.Forms.TextCell" /> is created for a simple user object.</para>
            <code lang="C#"><![CDATA[
class Person
{
  public string FullName
  {
    get;
    set;
  }
  
  public string Address
  {
    get;
    set;
  }
}

void SetupView()
{
  var template = new DataTemplate (typeof (TextCell));
  
  // We can set data bindings to our supplied objects.
  template.SetBinding (TextCell.TextProperty, "FullName");
  template.SetBinding (TextCell.DetailProperty, "Address");
  
  // We can also set values that will apply to each item.
  template.SetValue (TextCell.TextColorProperty, Color.Red);
  
  itemsView.ItemTemplate = template;
  itemsView.ItemsSource = new[] {
    new Person { FullName = "James Smith", Address = "404 Nowhere Street" },
    new Person { FullName = "John Doe", Address = "404 Nowhere Ave" }
  };
}
            ]]></code>
          </example>
        </remarks>
        <altmember cref="T:Xamarin.Forms.DataTemplate" />
        <altmember cref="P:Xamarin.Forms.ItemsView{TVisual}.ItemsSource" />
        <altmember cref="M:Xamarin.Forms.ItemsView{TVisual}.CreateDefault" />
      </Docs>
    </Member>
    <Member MemberName="ItemTemplateProperty">
      <MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty ItemTemplateProperty;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty ItemTemplateProperty" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Xamarin.Forms.BindableProperty</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Identifies the <see cref="P:Xamarin.Forms.ItemsView{TVisual}.ItemTemplate" /> property.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SetupContent">
      <MemberSignature Language="C#" Value="protected virtual void SetupContent (TVisual content, int index);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void SetupContent(!TVisual content, int32 index) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content" Type="TVisual" />
        <Parameter Name="index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="content">The visual content to setup.</param>
        <param name="index">The index of the content.</param>
        <summary>Performs any additional setup for the content at creation time.</summary>
        <remarks>
          <para>This method is called when the <see cref="T:Xamarin.Forms.ItemsView{TVisual}" /> is creating visuals for user items. At this point,
          the <see cref="P:Xamarin.Forms.BindableObject.BindingContext" /> will have been set. You can override this method to perform additional setup
          for content specific to your <see cref="T:Xamarin.Forms.ItemsView{TVisual}" /> subclass. <see cref="T:Xamarin.Forms.ListView" />, for example, uses
          this method to set <see cref="P:Xamarin.Forms.Element.Parent" /> to itself.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="UnhookContent">
      <MemberSignature Language="C#" Value="protected virtual void UnhookContent (TVisual content);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void UnhookContent(!TVisual content) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content" Type="TVisual" />
      </Parameters>
      <Docs>
        <param name="content">To be added.</param>
        <summary>Application developers override this method to unregister event handlers for items that they registered in <see cref="M:Xamarin.Forms.ItemsView{TVisual}.SetupContent(`0, int)" />.</summary>
        <remarks>
          <para>Application developers must call <see cref="M:Xamarin.Forms.ItemsView{TVisual}.UnhookContent(`0, int)" /> before performing any other action when overriding this method.</para>
          <block type="note">Application developers who override <see cref="M:Xamarin.Forms.ItemsView{TVisual}.SetupContent(`0, int)" /> to allocate resources must override this method in order to deallocate them.</block>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Xamarin.Forms.IItemsView&lt;TVisual&gt;.CreateDefault">
      <MemberSignature Language="C#" Value="TVisual IItemsView&lt;TVisual&gt;.CreateDefault (object item);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance !TVisual Xamarin.Forms.IItemsView&lt;TVisual&gt;.CreateDefault(object item) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>TVisual</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="item" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="item">To be added.</param>
        <summary>Creates a default TVisual by using <paramref name="item" /></summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Xamarin.Forms.IItemsView&lt;TVisual&gt;.SetupContent">
      <MemberSignature Language="C#" Value="void IItemsView&lt;TVisual&gt;.SetupContent (TVisual content, int index);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Xamarin.Forms.IItemsView&lt;TVisual&gt;.SetupContent(!TVisual content, int32 index) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content" Type="TVisual" />
        <Parameter Name="index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="content">To be added.</param>
        <param name="index">To be added.</param>
        <summary>Configures <paramref name="content" />.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Xamarin.Forms.IItemsView&lt;TVisual&gt;.UnhookContent">
      <MemberSignature Language="C#" Value="void IItemsView&lt;TVisual&gt;.UnhookContent (TVisual content);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Xamarin.Forms.IItemsView&lt;TVisual&gt;.UnhookContent(!TVisual content) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="content" Type="TVisual" />
      </Parameters>
      <Docs>
        <param name="content">To be added.</param>
        <summary>Internal use only.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>