EditBase.StartIconCommandParameter Property
Specifies the parameter passed to the StartIconCommand.
Namespace: DevExpress.XamarinForms.Editors
Assembly: DevExpress.XamarinForms.Editors.dll
NuGet Package: DevExpress.XamarinForms.Editors
Declaration
public object StartIconCommandParameter { get; set; }
Property Value
Type | Description |
---|---|
Object | A parameter object. |
Remarks
Use the StartIconCommandParameter property with StartIconCommand to pass data to the command.
Example
This example shows how to create a custom command with a parameter and execute it when a user taps the start icon.
In a view model, create a command that implements the ICommand interface:
using System.ComponentModel; using System.Windows.Input; namespace TestICommand.ViewModels { public class CopyCommand : ICommand { public event EventHandler CanExecuteChanged; MainViewModel viewModel; public CopyCommand(MainViewModel viewModel) { this.viewModel = viewModel; } public bool CanExecute(object Login) { return true; } public void Execute(object Login) { viewModel.LoginText = viewModel.NameText; } } public class MainViewModel : INotifyPropertyChanged { public MainViewModel() { iconCommand = new CopyCommand(this); } ICommand iconCommand = null; public ICommand IconCommand { get { return iconCommand; } set { if (iconCommand != value) { iconCommand = value; OnPropertyChanged("IconCommand"); } } } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string name) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } string loginText = ""; public string LoginText { get { return loginText; } set { loginText = value; OnPropertyChanged("LoginText"); } } string nameText = ""; public string NameText { get { return nameText; } set { nameText = value; OnPropertyChanged("NameText"); } } } }
Bind the specified command to the StartIconCommand property and define the
StartIconCommandParameter
value:<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:TestICommand" xmlns:vm="clr-namespace:TestICommand.ViewModels" x:Class="TestICommand.MainPage" xmlns:dxe="http://schemas.devexpress.com/xamarin/2014/forms/editors"> <ContentPage.BindingContext> <vm:MainViewModel/> </ContentPage.BindingContext> <StackLayout> <dxe:TextEdit x:Name="NameEditor" Text="{Binding NameText}" LabelText="First Name"/> <dxe:TextEdit x:Name="LoginEditor" Text="{Binding LoginText}" LabelText="Login" StartIcon="icon" StartIconCommand="{Binding IconCommand}" StartIconCommandParameter="{Binding Source={x:Reference NameEditor}, Path=Text}" HelpText="Tap the icon to use your first name as login"/> </StackLayout> </ContentPage>
See Also