WPF не выполняет команду привязки кнопки в ViewModel - PullRequest
0 голосов
/ 24 октября 2019

У меня есть следующий xaml в приложении wpf C #. Я хотел бы привязать кнопку к ICommand в модели представления. По какой-то причине команда привязки не выполняется.

    <UserControl x:Class="UI.View.CustomizationView"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                 xmlns:viewModel="clr-namespace:UI.ViewModel"
                 d:DataContext="{d:DesignInstance viewModel:CustomizationViewModel,
                                                  IsDesignTimeCreatable=True}"
                 d:DesignHeight="300"
                 d:DesignWidth="300"
                 mc:Ignorable="d">
        <Grid>
            <Button Content="Update Options" Background="LightBlue" Command="{Binding UpdateCommand}"/>
        </Grid>
    </UserControl>

Вот мой ViewModel:

    public class CustomizationViewModel : UiViewModelBase
    {
        public ICommand UpdateCommand
        {
            get
            {
                if (updateCommand == null)
                {
                    updateCommand = new RelayCommand(() => this.HandleUpdateCommand());
                }
                return updateCommand;
            }
            set => this.Set(ref this.updateCommand, value);
        }

        private void HandleUpdateCommand()
        {
            // Do something but this function is never called when button is clicked
        }
    }

Может кто-нибудь помочь объяснить, почему HandleUpdateCommand() никогда не вызывается?

...