gpt4 book ai didi

c# - 如何根据窗口更改对话框消息?

转载 作者:行者123 更新时间:2023-12-04 17:37:50 29 4
gpt4 key购买 nike

我正在尝试找到一种方法来根据用户所在的窗口在我的对话框中显示不同的消息。

示例

如果用户在 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 的新手,我已经玩了几天了。

谢谢

最佳答案

如果我正确理解你的情况,我会使用文本创建变量,例如将其绑定(bind)到您的标签:

<Label Content="{Binding QuestionText}" ...

我会在构造函数中设置这个变量

LoginScreen(string message)
{
this.QuestionText = message;
}

并根据 MainWindow 或 MainWindowTwo 构造具有所需文本的 LoginScreen。

它可以用不同的方式处理,也许我没有想到最优的,但它应该可以工作

关于c# - 如何根据窗口更改对话框消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920709/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com