Сообщение останавливает приложение пользовательского интерфейса без использования всплывающего окна сообщения
Мы работаем с WPF. И у нас есть приложение с несколькими экранами и деревом слева. В одном из них пользователь добавляет, редактирует и удаляет узел в этом дереве. Итак, нам нужно показать пользователю сообщение, когда он нажимает "Удалить сообщение", если он действительно хочет удалить или нет (Да / Отмена) сообщение, которое ему нужно, чтобы заморозить все приложение. Тогда пользователь вынужден решать. В то же время мы не хотим всплывающее сообщение. Нам нужно что-то вроде Adorner. Показывает серый фон (что означает, что все приложение зависло), и мы можем разместить границу с сообщением внутри него. Нам нужны альтернативные варианты для Adorner.
1 ответ
Вы можете использовать что-то вроде этого
<Window x:Class="WpfApplication5.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Border Name="msg" Background="#20A0A0A0" Visibility="Hidden">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Margin="10" Click="Button_Click_1">Yes</Button>
<Button Margin="10" Click="Button_Click_1">No</Button>
</StackPanel>
</Border>
<Border Name="main">
<StackPanel>
<TextBlock Text="tex"/>
<Button Click="Button_Click">Delete</Button>
<Button>Another button</Button>
</StackPanel>
</Border>
</Grid>
</Window>
private void Button_Click(object sender, RoutedEventArgs e)
{
msg.Visibility = System.Windows.Visibility.Visible;
main.IsEnabled = false;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
msg.Visibility = System.Windows.Visibility.Hidden;
main.IsEnabled = true;
}