Кто-нибудь слышал о каких-либо проблемах с тем, что MessageDialog не отображается на планшетах Windows 8? Или, более конкретно, Samsung 700t? Он использует обычный процесс intel, а не ARM. Я построил приложение на ноутбуке, а показания messagedialog при отладке с ноутбука, отображается на планшете, но не отображается на фактическом планшете.Диалог сообщений не отображается на планшете Windows 8 - Caliburn.Micro/C#
Я использую интерфейс Caliburn.Micro IResult для отображения messagedialog в представлении.
Heres snippits кода, который я использую:
public IEnumerable<IResult> NavExecute(String method)
{
Windows.UI.ViewManagement.ApplicationView.TryUnsnap();
var conn = NetworkInformation.GetInternetConnectionProfile();
if (conn.GetNetworkConnectivityLevel() != NetworkConnectivityLevel.InternetAccess)
{
yield return new MessageDialogResult("Internet Connection Not Detected", "Connection Error");
netOn = false;
}
} выше на мой взгляд, модель базового класса, и Херес реализации самого класса IResult:
public class MessageDialogResult : ResultBase
{
private readonly string _content;
private readonly string _title;
public MessageDialogResult(string content, string title)
{
_content = content;
_title = title;
}
public async override void Execute(ActionExecutionContext context)
{
var dialog = new MessageDialog(_content, _title);
await dialog.ShowAsync();
OnCompleted();
}
}
Я не сомневаюсь, что это проблема с кодом, поскольку я отлаживаю режим x86 на обоих устройствах (прежде чем кто-нибудь спросит, почему я не отлаживаю для всех устройств, это потому, что я использую SQLite, для которого требуется отдельный пакет для каждой архитектуры.)
Я не уверен, что это параметр где-то в Windows 8, который отключает всплывающие окна приложения, но я не смог его найти.
Любые идеи?
У вас есть другой планшет RT, который вы можете использовать, чтобы попробовать это? Код выглядит нормально для меня, но может ли быть какой-то бросок во время 'ShowAsync'? Это приведет к тому, что coroutine будет отменен (он не будет генерировать исключение больше, он просто помещает его в обратный вызов результата). – Charleh