0
프로그래밍 방식으로 WPF PrintDialog
을 닫을 수 있습니까? 나는 물결 모양의 반사에 Finalize
을 호출하려고 시도했는데, 그것도 닫히지 않았습니다.WPF : 프로그래밍 방식으로 PrintDialog를 닫을 수 있습니까?
using System;
using System.Reflection;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
namespace WpfApplication15
{
partial class Window1 : Window
{
PrintDialog _printDialog;
public Window1()
{
InitializeComponent();
new Thread(OpenDialog).Start();
new Thread(CloseDialog).Start();
}
void OpenDialog()
{
Thread.Sleep(1000);
Dispatcher.BeginInvoke((Action)OpenDialogImpl);
}
void OpenDialogImpl()
{
_printDialog = new PrintDialog();
_printDialog.ShowDialog();
}
void CloseDialog()
{
Thread.Sleep(2000);
Dispatcher.BeginInvoke((Action)CloseDialogImpl);
}
void CloseDialogImpl()
{
var type = typeof(PrintDialog);
var flags = BindingFlags.Instance | BindingFlags.NonPublic;
var finalize = type.GetMethod("Finalize", flags);
finalize.Invoke(_printDialog, null);
MessageBox.Show("Finalized");
}
}
}
사용자가이 대화 상자를 수동으로 닫을 수없는 이유가 있습니까? 어쩌면 문제에 약간의 배경 정보를 게시 할 수 있습니다. 감사! – Pwninstein
자동 로그 아웃을 구현하고 싶습니다. –
비슷한 문제가있어서 여기에 답변을 게시했습니다. http://stackoverflow.com/questions/17282082/wpf-accessing-opened-print-dialog-and-close-them –