gpt4 book ai didi

c# - 自定义消息弹出 WPF

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:24 25 4
gpt4 key购买 nike

这实际上并没有描述我的意思,但我会尽力解释。我已经使用 C# 一年了,从未接触过 WPF。直到最近我才意识到它有多棒并开始使用它。我现在面临一个问题。

我想让用户知道密码/用户名不正确,所以我想让它更令人愉悦,而不是旧的 WinForms MessageBox。我考虑过创建一个网格,使应用程序的颜色变暗,然后我就可以在上面显示一些文本。但是 - 这怎么可能?...您是否有更好的想法来显示应用程序的消息(而不是弹出窗口)?谢谢。

最佳答案

您可以创建一个具有半透明背景(如#33000000)和 3 行网格以显示标题、消息和确定按钮的 UserControl,如下所示:

<UserControl x:Class="ApplicationNameSpace.MessageControl" ... >
<Grid Background="#33000000" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Background="#FFFFFF" MinHeight="100" MinWidth="200">
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="35"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="#EEEEEE">
<Label Content="Unable to Login" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
<Grid Grid.Row="1" Margin="10,20">
<TextBlock Text="Wrong username or password. Try again." HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
<Grid Grid.Row="2" Background="#EEEEEE">
<Button Content="OK" Width="80" Height="25" />
</Grid>
</Grid>
</Grid>
</UserControl>

要使用,您可以在窗口的末尾添加控件,并在需要显示时将可见性更改为可见。

<Window x:Class="ApplicationNameSpace.MainWindow"
xmlns:local="clr-namespace:ApplicationNameSpace" ... >
<Grid>
...
<local:MessageControl Name="messageControl" Visibility="Collapsed" />
</Grid>
</Window>

您还可以创建一个通用控件,将标题和消息内容传递给显示方法,例如 MessageBox 显示方法。您还可以在此方法的窗口中以编程方式添加用户控件元素。

MessageControl

关于c# - 自定义消息弹出 WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568427/

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