在WindowsPhone发送本地广播消息8.1
Send local broadcast message in Windows Phone 8.1
与 Android 一样,我们有广播,在 iOS 中,我们有 NSNotifiactionCenter 来发送后台消息和通知...
Windows Phone 8.1 中有等效项?
我正在寻找有关此的文档,但找不到任何内容。
非常感谢!!
乔治.
WP 8.1 中没有广播,但为此我使用了 Caliburn 框架的实现。
https://github.com/Caliburn-Micro/Caliburn.Micro/blob/master/src/Caliburn.Micro/EventAggregator.cs
编辑:
或者您可以实现自己的广播 - 我在我的一个项目中使用了它
using System;
using System.Collections.Generic;
/* Created by Jan Kobersky - 8/28/2015 6:46:06 PM */
namespace EveryDay.Code.Core
{
public class EventDispatcher
{
private static EventDispatcher _data;
public static EventDispatcher Dispatcher => _data ?? (_data = new EventDispatcher());
private readonly List<object> _subscribers = new List<object>();
private EventDispatcher()
{
}
public void Subscribe(object subscriber)
{
if (!_subscribers.Contains(subscriber))
{
_subscribers.Add(subscriber);
}
}
public void Unsubscribe(object subscriber)
{
if (_subscribers.Contains(subscriber))
{
_subscribers.Remove(subscriber);
}
}
public void Dispatch<T>(T message) where T : class
{
foreach (var subscriber in _subscribers)
{
(subscriber as IHandle<T>)?.Handle(message);
}
}
}
public interface IHandle<T> where T : class
{
void Handle(T message);
}
}
与 Android 一样,我们有广播,在 iOS 中,我们有 NSNotifiactionCenter 来发送后台消息和通知...
Windows Phone 8.1 中有等效项? 我正在寻找有关此的文档,但找不到任何内容。
非常感谢!! 乔治.
WP 8.1 中没有广播,但为此我使用了 Caliburn 框架的实现。
https://github.com/Caliburn-Micro/Caliburn.Micro/blob/master/src/Caliburn.Micro/EventAggregator.cs
编辑:
或者您可以实现自己的广播 - 我在我的一个项目中使用了它
using System;
using System.Collections.Generic;
/* Created by Jan Kobersky - 8/28/2015 6:46:06 PM */
namespace EveryDay.Code.Core
{
public class EventDispatcher
{
private static EventDispatcher _data;
public static EventDispatcher Dispatcher => _data ?? (_data = new EventDispatcher());
private readonly List<object> _subscribers = new List<object>();
private EventDispatcher()
{
}
public void Subscribe(object subscriber)
{
if (!_subscribers.Contains(subscriber))
{
_subscribers.Add(subscriber);
}
}
public void Unsubscribe(object subscriber)
{
if (_subscribers.Contains(subscriber))
{
_subscribers.Remove(subscriber);
}
}
public void Dispatch<T>(T message) where T : class
{
foreach (var subscriber in _subscribers)
{
(subscriber as IHandle<T>)?.Handle(message);
}
}
}
public interface IHandle<T> where T : class
{
void Handle(T message);
}
}