Skip to content

[IR-ext] selection support for complex ItemTemplate #611

@Xiaoy312

Description

@Xiaoy312

Anything else we need to know?

By design, IR-extensions only properly supports selection if the root element in the item-template is a SelectorItem derived class.

What would you like to be added:

Allow the target element of selection to be not just the template root.

This should probably be done through some marker property, ex:

<muxc:ItemsRepeater ItemsSource="ASD"
					utu:ItemsRepeaterExtensions.SelectionMode="Single">
	<muxc:ItemsRepeater.ItemTemplate>
		<DataTemplate> 
			<Border>
				<utu:Chip Content="{Binding}" utu:ItemsRepeaterExtensions.IsSelectionTarget="True" />
			</Border>
		</DataTemplate>
	</muxc:ItemsRepeater.ItemTemplate>
</muxc:ItemsRepeater>

or

<muxc:ItemsRepeater ItemsSource="ASD"
					utu:ItemsRepeaterExtensions.SelectionMode="Single"
					utu:ItemsRepeaterExtensions.SelectionTargetName="Selectable">
	<muxc:ItemsRepeater.ItemTemplate>
		<DataTemplate> 
			<Border>
				<utu:Chip x:Name="Selectable" Content="{Binding}" />
			</Border>
		</DataTemplate>
	</muxc:ItemsRepeater.ItemTemplate>
</muxc:ItemsRepeater>

Why is this needed:

In figma, we often encounter case where it is impossible to generate a "clean/lean" item-template. And, we need to support these scenario, where the targeted SelectorItem can be found nested under the item-template.

For which Platform: all

Metadata

Metadata

Assignees

Labels

control/extensions-helpers-markupRelated to attached properties, helper classes, or markup extensions without a finer tagkind/enhancementNew feature or request.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions