I have a WPF form that has some buttons to save user input, delete, and cancel. I was trying to add functionality such that whenever the user clicks the cancel button, there is a pop up a message. Instead it throws an exception in my controller:
"The call is ambiguous between the following methods or properties"
Here is my view:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,0,0,0">
<Button Name="DeleteButton" Command="{Binding DeleteCommand}" CommandParameter="{Binding Path=SelectedStory}" Cursor="Hand" Height="25" IsEnabled="{Binding CanDelete}" Margin="5 0 0 0">Delete</Button>
<Button Name="SubmitButton" Command="{Binding SubmitCommand}" CommandParameter="{Binding Path=SelectedStory}" Cursor="Hand" Height="25" Margin="5 0 0 0">Submit</Button>
<Button Name="CancelButton" Command="{Binding CloseCommand}" CommandParameter="{Binding Path=SelectedStory}" Cursor="Hand" Height="25" Margin="5 0 0 0" >Cancel</Button>
</StackPanel>
My controller code:
public MetadataController(IGatewayService gateway, IEventAggregator eventAggregator, IDialogService dialog)
{
this.gateway = gateway;
this.eventAggregator = eventAggregator;
this.dialog = dialog;
// commands
this.CloseCommand = new DelegateCommand<StoryItem>(this.Close);//here i got the exception throwing "the call is ambiguous between the following methods or properties"
this.DeleteCommand = new DelegateCommand<StoryItem>(this.Delete);
this.SubmitCommand = new DelegateCommand<StoryItem>(this.Submit, this.HasFieldsRequiredBeforeSubmit);
this.eventAggregator.GetEvent<StorySelectedEvent>().Subscribe(OnStorySelected);
}
private void Close(StoryItem selsectedStory)//when i click my close button its not calling this method at all.
{
bool isConfirmed = this.dialog.ShowConfirmation("Are you sure you want to close?");
}
private void Delete(StoryItem selectedStory)
{
bool isConfirmed = this.dialog.ShowConfirmation("Are you sure you want to permanently delete ?");
if (isConfirmed)
{
this.gateway.DeleteStoryItem(selectedStory);
this.eventAggregator.GetEvent<CommandCompletedEvent>().Publish(CommandTypes.MetadataEntry);
}
}
The reason for the exception ,i do have the method already and i was trying to create one,that’s why it throws that error.Thanks lot for the help guys.