사용자 입력, 삭제 및 취소를 저장하기위한 버튼이있는 WPF 양식이 있습니다. 사용자가 취소 버튼을 클릭 할 때마다 팝업 메시지가 표시되는 기능을 추가하려고했습니다. 대신 내 컨트롤러에서 예외가 발생합니다 : 여기 다음 메서드 또는 속성 사이에 호출이 모호합니다. - WPF
"The call is ambiguous between the following methods or properties"
내이다 :
<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>
내 컨트롤러 코드 :
당신이 얻고있는 예외는 그것이 '아무튼 있음을 나타냅니다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);
}
}
미안 해요, 내 나쁜 이미 그 예외를 throw하는 이유는 그 작업을 예상대로 던져 동일한 클래스에 다른 방법이 있습니다 – Usher