Отправить широковещательное уведомление со строкой (UWP) - PullRequest
0 голосов
/ 08 октября 2018

Мне нужно отправить уведомление между двумя классами.В Android я использовал

Intent intent = new Intent(NOTIFICATION_KEY);
intent.putExtra(ISFIRSTTIME, isfirsttime);     
LocalBroadcastManager.getInstance
(AppDelegate.getContext()).sendBroadcast(intent);

и для получения:

private BroadcastReceiver multiselectReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {

}
};

А в IOS:

[[NSNotificationCenter 
defaultCenter]postNotificationName:kNotificationMultiselectController 
object:[NSNumber numberWithBool:isFirstTime]];

и для получения:

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(multiselectNotification:) 
name:kNotificationMultiselectController object:nil];

1 Ответ

0 голосов
/ 08 октября 2018

В C # существует множество решений для слабо связанных сообщений, но ни одно из них не относится к UWP.Если вы создаете свое приложение с использованием MVVM-фреймворка, оно, вероятно, также будет содержать одно - например, Prism имеет EventAggregator, MvvmCross имеет MvxMessenger, а в MvvmLight вы используете MessengerDefault.Я бы выбрал одну из фреймворков и использовал предоставленную возможность мессенджера, так как она проверена в бою и стабильна.Вам даже не нужно использовать саму полную MVVM-инфраструктуру и просто использовать компонент агрегатора событий.Дополнительные сведения о том, как это работает, см., Например, в этом посте MSDN .

. Самое основное решение - использовать базовые события C #, но это сильные ссылки, поэтому вам нужно помнитьотписаться от событий, которые вы зарегистрировали, в противном случае подписчик останется в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...