System.Windows.Data Error: 40 : BindingExpression path error
При нажатии на кнопку не вызывается ICommand SelectImage и собственно в консоли сыпятся ошибки: System.Windows.Data Error: 40 : BindingExpression path error: 'SelectImage' property not found on 'object' ''String' (HashCode=-1721744223)'. BindingExpression:Path=SelectImage; DataItem='String' (HashCode=-1721744223); target element is 'Button' (Name=''); target property is 'Command' (type 'ICommand')
MainViewModel.cs
public ICommand SelectImage { get; set; }
public ObservableCollection<string> Images { get; set; }
public MainViewModel()
{
SelectImage = new RelayCommand(imageObject =>
{
_logger.LogError("Clicked");
});
Images = new ObservableCollection<string>();
}
MainPage.xaml
<ItemsControl Grid.Row="1" ItemsSource="{Binding Images}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel ItemHeight="200" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button
Command="{Binding SelectImage}",
CommandParameter="{Binding}"
Name="imageContainer"
>
<Image Source="{Binding}" />
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
MainPage.xaml.cs
public partial class MainPage : Page
{
public MainPage(MainViewModel viewModel)
{
DataContext = viewModel;
InitializeComponent();
}
}
Проблема точно не в том, что ILogger не выводит сообщение в консоль, пробовал bind'ить к другой кнопки, которая не находилась в ItemsControl