AlternationConverter Class
Converts an integer to and from an object by applying the integer as an index to a list of objects.
Assembly: PresentationFramework (in PresentationFramework.dll)
| Name | Description | |
|---|---|---|
![]() | AlternationConverter() | Initializes a new instance of the AlternationConverter class. |
| Name | Description | |
|---|---|---|
![]() | Convert(Object^, Type^, Object^, CultureInfo^) | Converts an integer to an object in the Values list. |
![]() | ConvertBack(Object^, Type^, Object^, CultureInfo^) | Converts an object in the Values list to an integer. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
You can use the AlternationConverter to bind a property to alternating values. For example, if you want items in a ListBox to have alternating blue and light blue backgrounds, you do the following:
Create an AlternationConverter and add a blue SolidColorBrush and a light blue SolidColorBrush to its Values property.
In a Style for ListBoxItem, bind the Background property to ItemsControl::AlternationIndex and assign the converter you created to the Binding::Converter property.
The following example creates a ListBox and uses two AlternationConverter objects to alternate the Background and FontStyle of the items.
<Grid> <Grid.Resources> <AlternationConverter x:Key="BackgroundConverter"> <SolidColorBrush>Blue</SolidColorBrush> <SolidColorBrush>LightBlue</SolidColorBrush> </AlternationConverter> <AlternationConverter x:Key="FontStyleConverter"> <FontStyle >Italic</FontStyle> <FontStyle >Normal</FontStyle> </AlternationConverter> <Style x:Key="alternatingWithBinding" TargetType="{x:Type ListBoxItem}"> <Setter Property="Background" Value="{Binding RelativeSource={RelativeSource Self}, Path=(ItemsControl.AlternationIndex), Converter={StaticResource BackgroundConverter}}"/> <Setter Property="FontStyle" Value="{Binding RelativeSource={RelativeSource Self}, Path=(ItemsControl.AlternationIndex), Converter={StaticResource FontStyleConverter}}"/> </Style> </Grid.Resources> <ListBox AlternationCount="2" ItemsSource="{StaticResource data}" ItemContainerStyle="{StaticResource alternatingWithBinding}"/> </Grid>
Available since 3.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


