IXRDoubleCollection (Compact 2013)


This class represents a collection of float values.

class IXRDoubleCollection : public IXRDependencyObject






Adds an item to the end of this collection and retrieves the index of where it was added.


Removes all items from this collection.


Determines whether an item is in this collection.


Retrieves the number of items in this collection.


Retrieves the item at the specified index in this collection.


Searches for the specified item and retrieves the zero-based index of its first occurrence within this collection.


Inserts an item into this collection at the location that has the specified index value.


Removes the last occurrence of a specific item from this collection.


Removes the item at the specified index from this collection.

Members of this class are thread safe if you previously called IXRApplication::CreateHostFromXaml and supplied it with an XRWindowCreateParams structure that has AllowsMultipleThreadAccess set to true. Allowing multiple-thread access can have a significant impact on application performance because this option serializes data for all objects in the collection across threads. If you have control over the lifetimes of these objects it is recommended that you serialize only what is needed to achieve optimal performance.

You can use this collection class together with the methods IXRShape::GetStrokeDashArray and IXRShape::SetStrokeDashArray to manipulate a set of dashes that outline a shape object.

You can also create a new collection. To do this, use the IXRApplication::CreateObject(IID,Object) method to create an empty IXRDoubleCollection object. Then, you can use CreateObject to create multiple float values that indicate the pattern of dashes and gaps used to outline a shape object. Next, you can add each float value to the IXRDoubleCollection collection by calling the IXRDoubleCollection::Add method. And finally, you can set the new collection for an IXRShape by calling IXRShape::SetStrokeDashArray.

You can obtain a pointer to this collection by calling IXRShape::GetStrokeDashArray. Then, you can use the methods of this class to add, remove, or retrieve items. You can also clear the complete collection by calling the IXRDoubleCollection::Clear method.

When you create a class instance, use an IXRDoubleCollectionPtr smart pointer instead of a raw interface pointer. For more information, see XRPtr<Interface>.

You can also define a double collection in Microsoft Silverlight 3 XAML. For information about the differences between XAML in XAML for Windows Embedded and Silverlight 3, see Differences Between Microsoft Silverlight 3 and XAML for Windows Embedded. For more information about how to define this collection in the source XAML for your application, see the DoubleCollection Class on MSDN.

This programming element includes "Double" in its name to maintain parity with the name of its equivalent XAML element in the source XAML markup. The name of this XAML element is generated by the Blend for Visual Studio IDE. However, in XAML for Windows Embedded, this object represents a float instead of a double.