0

だから私はこれを持っていますobject:

public class Test : INotifyPropertyChanged
    {
        public string Name { get; set; }

        private bool isSelected;
        public bool IsSelected
        {
            get { return isSelected; }
            set
            {
                isSelected = value;
                NotifyPropertyChanged("IsSelected");
            }
        }

        public Test(string name, string path, bool selected)
        {
            Name = name;
            Path = path;
            isSelected = selected;
        }

        public override string ToString()
        {
            return Name;
        }

        private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

だから私は私の( )とListViewバインドしており、ユーザーがクリックすると、プロパティをからに変更したい(またはその逆...)objectTestListViewItemIsSelectedtruefalse

そしてMouseLeftButtonUp

<ListView Name="listViewTests" ItemsSource="{Binding Tests}">
      <i:EventTrigger EventName="MouseLeftButtonUp">
            <i:InvokeCommandAction Command="{Binding MouseLeftButtonUpCommand}"
                                   CommandParameter="{Binding ElementName=listViewTests, Path=SelectedItem}"/>
            </i:EventTrigger>
     </i:Interaction.Triggers>
</ListView>

私のExecute命令:

    public void Execute(object parameter)
    {
        Test test = parameter as Test;
        if (test != null)
            {

            }
    }

propertyしたがって、このメソッド内でオブジェクトを変更する代わりに、Executeどのようにそれを行うのだろうかXAML

4

1 に答える 1