[英]Custom message popup WPF
這實際上並沒有描述我的意思,但是我會盡力解釋。 我已經使用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>
您還可以創建一個通用控件,將標題和消息內容傳遞給show方法,例如MessageBox show方法。 您也可以使用此方法在窗口中以編程方式添加用戶控件元素。
您可以使用WPF 4.5上的驗證和INotifyDataError,並且可以在文本框旁邊顯示一條漂亮消息,例如,檢查此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.