У меня есть следующий 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()
никогда не вызывается?