【发布时间】:2019-09-19 02:27:04
【问题描述】:
我正在尝试找到一种方法,根据用户所在的窗口,在我的对话框中显示不同的消息。
示例
如果用户在 MainWindow.xaml 中并单击关闭按钮,对话框中的消息应显示“您确定要关闭 MainWindow?”
如果用户在 MainWindowTwo.xaml 上,则“您确定要关闭 MainWindowTwo 吗?”
这是我当前的代码,当用户单击关闭按钮时出现。
XAML
<Border BorderBrush="#081e2b" BorderThickness="2">
<Grid Background="#fff">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="110" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Grid VerticalAlignment="Top" Grid.ColumnSpan="1" Grid.Row="0">
<DockPanel Width="400" Background="#081e2b">
</DockPanel>
<DockPanel HorizontalAlignment="Right" Background="#f12c00">
<Button x:Name="CloseWindow" Content="X" Click="CloseWindow_Click" Height="40"></Button>
</DockPanel>
</Grid>
<Grid Grid.Row="1">
<WrapPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<Label Content="Are you sure you wish to logout?" FontSize="16"></Label>
</WrapPanel>
</Grid>
<Grid Grid.Row="2">
<WrapPanel VerticalAlignment="Bottom" Background="#FFE6E6E6" >
<Button Click="YesClose_Click" x:Name="YesClose" FontWeight="SemiBold" Content="Yes" Height="50" Background="#FFE6E6E6" Foreground="#081e2b" BorderBrush="#FFE6E6E6" Width="200"></Button>
<Button Click="NoClose_Click" x:Name="NoClose" FontWeight="SemiBold" Content="No" Height="50" Background="#FFE6E6E6" Foreground="#081e2b" BorderBrush="#FFE6E6E6" Width="200"></Button>
</WrapPanel>
</Grid>
</Grid>
</Border>
C#
private void YesClose_Click(object sender, RoutedEventArgs e)
{
var closeapp = Application.Current.Windows[0];
closeapp.Close();
Login.LoginScreen logscreen = new Login.LoginScreen();
logscreen.Show();
this.Close();
}
private void NoClose_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void CloseWindow_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
真的很感谢任何帮助,因为我对 WPF 还很陌生,我已经玩了几天了。
谢谢
【问题讨论】:
标签: c# wpf windows visual-studio xaml