TaskbarIcon, 을 사용하여 WPF 응용 프로그램을 만들려고합니다. 트레이 바에서 아이콘을 클릭하면 Contextmenu 인 이 나타나고 "종료"를 선택하면 내가이 앱을 닫을 지 여부를 묻는 메시지 상자.WPF TaskbarIcon ContextMenu
여기 MessageBox가 올바르게 표시되지만 아무 버튼이나 클릭하기 전에 즉시 사라져서 디버거를 사용하여 "결과"값을 확인하면 항상 "아니오"라는 것을 알았습니다. 이전에이 문제가 발생 했습니까? 모든 단서는 인정 될 것입니다 !!
여기 내 .xaml 코드입니다 :
<tb:TaskbarIcon x:Name="WpfTaskIcon" IconSource="/Themes/Images/TimeSync.ico"
ToolTipText="Hello world" >
<tb:TaskbarIcon.ContextMenu>
<ContextMenu Background="LightCoral">
<MenuItem Header="Exit" Click="Exit_Click" />
<MenuItem Header="Second menu Item" />
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
그리고 여기 내 C# 코드입니다 :
private void Exit_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult result = System.Windows.MessageBox.Show(
"Message_ConfirmationOfExit",
"Title_Confirmation",
MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
this.Close();
}
}
EDT : 내가 MainWindow를의 가시성을 초기화하려면이 옵션을 추가했습니다 :
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
this.Visibility = System.Windows.Visibility.Visible;
MessageBox.Show("MainWindow loaded");
MessageBoxResult result = System.Windows.MessageBox.Show(
"Message_ConfirmationOfExit",
"Title_Confirmation",
MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
this.Close();
}
}
예! 조언과 힌트를 보내 주셔서 감사합니다. 그러나 "Exit_Click"을 호출하기 전에 "MainWindow_Loaded"에서 MainWindow의 가시성을 초기화하기 위해 세그먼트를 추가하고, 업데이트 한 코드가 주 입자에 표시됩니다. 힌트와 확인 메시지 상자가 모두 올바르게 표시되지만 "Exit_Click"의 확인 상자는 사라집니다 ... – Alanight
@ Alanight - 다른 대안을 시도해 볼 수 있습니까? 메시지 박스 코드를'_Loaded'에 넣는 대신'_Shown'에 넣으십시오. – miroxlav
MainWinow_Showen() 메서드를 추가하고 InitializeComponent()를 호출 한 직후에 MessageBox가 정상적으로 표시되었지만 문제가 여전히 존재합니다 ... 내 MainWindow_Showen 메서드는 다음과 같습니다. private void Main_Showen() { this.Visibility = System.Windows.Visibility.Visible; } – Alanight