C#/WPF

[WPF] MVVM Windows Popup Close (UserControl)

kjun.kr 2022. 9. 3. 00:02
728x90
728x170

MVVM Windows Popup Close 하는 방법.

UserControl 로 화면을 만들고 아래처럼 Window 를 이용해 팝업을 처리한다.

Window window = new Window 
{
    Title = "My User Control Dialog",
    Content = new MyUserControl()
};

window.ShowDialog();

MyUserControl 의 ViewModel 에서 Command 를 이용해서는 팝업으로 뜬 Windows 창을 닫을수가 없다.

이를 위해서는 CallMethodAction 을 이용해 처리를 하면 된다.

<Windows

<Button Content="Save" Command="{Binding SaveCommand}">
  <i:Interaction.Triggers>
    <i:EventTrigger EventName="Click">
      <i:CallMethodAction MethodName="Close"
                           TargetObject="{Binding RelativeSource={RelativeSource
                                                  Mode=FindAncestor,
                                                  AncestorType=Window}}" />
    </i:EventTrigger>
  </i:Interaction.Triggers>
</Button>

</Window>
728x90
그리드형