gpt4 book ai didi

windows - 如何在 Windows Phone 8.1 的 Android 中创建类似于 "toast notification"的内容

转载 作者:可可西里 更新时间:2023-11-01 14:49:35 25 4
gpt4 key购买 nike

我想在 Windows Phone 8.1 的 Android 中创建类似于 “ toast 通知”的东西。我想要的是显示一个文本框,指示用户发生了一些事件(如“已配对”、“连接丢失”...等)。但该文本框应该几秒钟后在没有任何用户交互的情况下自动关闭。我已经在 Windows 中浏览了消息框和弹出窗口。但两者都不符合我的需求,或者我必须使用计时器回调来自动关闭它,这是不推荐的。

谁能建议一种在 Windows Phone 8.1 中实现此目的的方法

最佳答案

在我看来,最好的解决方案是 igrali 的解决方案,因为他尊重准则。

但是如果你想显示 Toast 相同的 Android :

像这样创建用户控件:

<Border CornerRadius="50" Background="#CC000000" Height="80" Width="150" Margin="10">
<TextBlock Text="{Binding Message}" Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>

在后面的代码中:

public MyUserControl1()
{
this.InitializeComponent();
this.DataContext = this;
}


public string Message
{
get { return (string)GetValue(MessageProperty); }
set { SetValue(MessageProperty, value); }
}

// Using a DependencyProperty as the backing store for Message. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MessageProperty =
DependencyProperty.Register("Message", typeof(string), typeof(MyUserControl1), new PropertyMetadata(string.Empty));

并在您的页面中使用此 userControl :

 private MyUserControl1 toast;
private DispatcherTimer timer = new DispatcherTimer();

private void Button_Click(object sender, RoutedEventArgs e)
{
toast = new MyUserControl1();
toast.Message = "Message in my toast";
toast.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Bottom;
toast.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Center;


timer.Interval = new TimeSpan(0, 0, 1);
timer.Start();
timer.Tick += timer_Tick;
layoutRoot.Children.Add(toast);
}

void timer_Tick(object sender, object e)
{
if(toast != null)
layoutRoot.Children.Remove(toast);

timer.Stop();
}

我创建了一个按钮,并触发了点击事件。

在此事件中,我创建了我的用户控件并添加到网格 (layoutRoot) 中。我使用 DispatcherTimer 在一秒后删除用户控制。

[编辑]你有一个工作基地。当然你可以大大改进代码。

例如,创建一个定义显示时间的枚举。您还可以创建 Storyboard来运行动画。

关于windows - 如何在 Windows Phone 8.1 的 Android 中创建类似于 "toast notification"的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172180/

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