【发布时间】:2016-01-18 09:41:11
【问题描述】:
我正在尝试通过异步方法显示和管理启动画面,但我真的不知道如何管理它。这些是我的方法:
public async void OpenSplashScrn()
{
splash.Show();
}
public async void ChangeSplashScrnMessageText(string messageText)
{
splash.messageLabel.Content = messageText;
}
public void HideSplashScrn()
{
splash.Hide();
}
我用 await 尝试过,但不知道如何正确调用它。启动启动画面确实有效,但调用其他方法时 Labeltext 不会更改。我还想按如下顺序调用这些方法:打开,更改文本(几次),隐藏,打开,更改文本(几次),隐藏。我没有找到解决这个具体问题的方法。 谢谢!
编辑:
似乎这不是异步问题。调用函数时再添加一点代码:
splash = new SplashScreen(this);
OpenSplashScrn();
ChangeSplashScrnMessageText("Searching Data...");
初始屏幕的 Xaml 代码:
<Window x:Name="splashScrn" x:Class="Window1.SplashScreen"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Bitte warten..." Height="127" Width="336" WindowStyle="None" WindowStartupLocation="CenterScreen" Topmost="True">
<Grid Margin="0,0,2,2" Background="#FF386C89">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="47*"/>
<ColumnDefinition Width="254*"/>
<ColumnDefinition Width="25*"/>
</Grid.ColumnDefinitions>
<Label x:Name="messageLabel" Content="Message" HorizontalAlignment="Left" Margin="73,45,0,0" VerticalAlignment="Top" FontWeight="Bold" Grid.Column="1"/>
</Grid>
【问题讨论】:
-
那些异步修饰符是多余的,因为这些空白处没有异步代码。
标签: c# wpf asynchronous splash-screen