== Performing Actions on selected items ==
tbdThe following actions are currently available in Multi Select mode:* Copy / Paste* Download Branches* Discard Content* Delete Content* Download and Checkout (UWP only)* Checkout (UWP only)* Release (UWP only)* Revert local changes (UWP only) ==== Copy and Paste ====For copying multiple branches, the <code>CopyBranchesCommand</code> can be used without any additional CommandParameter.The already existing <code>PasteBranchCommand</code> already supports pasting multiple branches, therefore, it can be reused. ==== Download Branches ====To download multiple branches, <code>InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="BranchDownloadCommand"</code> as CommandParameter can be used. ==== Discard Content ====To discard selected objects, <code>InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="DiscardContentCommand"</code> as CommandParameter can be used. ==== Delete Content ====To delete selected objects, <code>InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="DeleteContentCommand"</code> as CommandParameter can be used. ==== Download and Checkout ====To perform the Download and Checkout actions on selected objects, <code>InvokeOnItemsCommand</code> should be used in combination with two CommandParameters as in the following example.<source lang = "xml"><Button Command="{Binding InvokeOnItemsCommand}"> <StackPanel Spacing="8"> <FontIcon Glyph="{Binding ExclusiveAccessClaim, Source={StaticResource UBIKIcons}}" /> <TextBlock Text="{Binding DownloadAndCheckOut_Label, Source={StaticResource AppResources}}" /> </StackPanel> <Button.CommandParameter> <controls:KeyValueList> <controls:KeyValueParameter Key="Command" Value="BranchDownloadCommand" /> <controls:KeyValueParameter Key="CheckOut" Value="True" /> </controls:KeyValueList> </Button.CommandParameter></Button></source> ==== Checkout ==== <source lang = "xml"><Button Command="{Binding InvokeOnItemsCommand}"> <StackPanel Spacing="8"> <FontIcon Glyph="{Binding ExclusiveAccessClaim, Source={StaticResource UBIKIcons}}" /> <TextBlock Text="{Binding Checkout_Label, Source={StaticResource AppResources}}" /> </StackPanel> <Button.CommandParameter> <controls:KeyValueList> <controls:KeyValueParameter Key="Command" Value="CheckOutContentCommand" /> <controls:KeyValueParameter Key="SelectedItemsOnly" Value="True" /> </controls:KeyValueList> </Button.CommandParameter></Button> </source> ==== Release ==== <source lang = "xml"><Button Command="{Binding InvokeOnItemsCommand}"> <StackPanel Spacing="8"> <FontIcon Glyph="{Binding ExclusiveAccessRelease, Source={StaticResource UBIKIcons}}" /> <TextBlock Text="{Binding Release_Label, Source={StaticResource AppResources}}" /> </StackPanel> <Button.CommandParameter> <controls:KeyValueList> <controls:KeyValueParameter Key="Command" Value="ReleaseContentCommand" /> <controls:KeyValueParameter Key="SelectedItemsOnly" Value="True" /> </controls:KeyValueList> </Button.CommandParameter></Button></source> ==== Revert local changes ====To revert locally executed changes on objects, the <code>InvokeOnItemsCommand</code> with a KeyValueList containing <code>Key="Command"</code> and <code>Value="RevertLocalChangesCommand"</code> as CommandParameter can be used.
== Editing common Properties of selected items (UWP only) ==
{{Hint|For such a property, if all selected objects share the same property value, that value is displayed as it is; Otherwise, "..." is displayed to indicate the presence of various values.}}
Once a user clicks/taps on such a property, an editor dialog is shown and the user can enter values just like when editing properties of single objects. However, when the user finishes editing and confirms the dialog, the value is saved to that property of all selected objects immediately.