标签: windows-runtime

如何从Windows Phone 8.1 RT中的导航缓存中删除特定页面?

我在WP 8.1 XAML应用程序的某些页面中将NavigationCacheMode设置为Required.如何从中删除特定页面?这不是导航堆栈.

c# windows-phone windows-runtime winrt-xaml

1
推荐指数
1
解决办法
1481
查看次数

Microsoft Band SDK预览 - 后台任务中的NotificationManager

嗨,我不确定我是否遗漏了某些东西,或者这不属于我认为看似短视的API内.

SDK可以在后台任务中向乐队发送通知吗?这似乎是对我来说最有用的事情之一,但当我尝试时,我得到一个错误.'bandClient.NotificationManager.SendMessageAsync'是抛出异常的地方.后台任务是计时器任务.

后台代码很简单,我在后台和UI线程上尝试了它.

尝试

            {

                // Get the list of Microsoft Bands paired to the phone.

                IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

                if (pairedBands.Length < 1)

                {

                    deferral.Complete();

                }


                // Connect to Microsoft Band.

                using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))

               {


                    await bandClient.NotificationManager.SendMessageAsync(myTileId, "Earnings", currentDollars.ToString(), DateTimeOffset.Now, f);

                }

            }

            catch (Exception ex)
Run Code Online (Sandbox Code Playgroud)

异常和堆栈跟踪:

ex = {System.Exception:灾难性故障(HRESULT异常:0x8000FFFF(E_UNEXPECTED))

在Windows.UI.Xaml.Application.get_Current()

在Microsoft.Band.BandClientManager.d__2.MoveNext()

---从先前位置开始的堆栈跟踪结束...

在Windows.UI.Xaml.Application.get_Current()

在Microsoft.Band.BandClientManager.d__2.MoveNext()

---从抛出异常的先前位置开始的堆栈跟踪结束---

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

在WindowsRuntimeComponent1.AppTileUpdater.d__8.MoveNext()

c# windows-runtime windows-phone-8.1 microsoft-band

1
推荐指数
1
解决办法
957
查看次数

适用于Windows 8.1/10应用程序的IsolatedStorage浏览器

对于Windows Phone 8.1开发,我们有一个很好的工具--Windows Phone Power Tools - 它允许您查看应用程序的实际本地存储内容并从/到那里获取/放置文件: 在此输入图像描述

我想知道Windows 8.1/Windows 10通用应用开发有没有这样的东西?

或者,可能有一些简单的方法从Windows 8.1应用程序获取文件(除了编写代码以读取文件内容,并说,通过电子邮件或其他东西从那里"分享")?

我也尝试查看c:\Program Files\WindowsApps\文件夹,但没有在那里找到我的开发应用程序的子文件夹.

c# windows-phone windows-runtime win-universal-app windows-10

1
推荐指数
1
解决办法
802
查看次数

Task.Run或Task.Factory.StartNew是Windows手机或任何其他客户端平台的不良做法吗?

我有很多使用Web服务的WP 8.1应用程序,我希望尽可能保持响应.从iOS dev expierense - 有一个严格的规则:"不要在UI线程中做任何复杂的计算!无论你如何达到这个目标:使用块或使用GCD".

问题并非所有API都具有异步版本,例如JSON.NET,SQLite或应用程序中任何自己的复杂算法.我已经阅读了很多文章,将Task.Run和Task.Factory.StartNew定义为不良做法+ 这个.

那么,编写这样的代码是否很好?它会导致一些CPU过载/电池耗尽/稳定性问题吗?如果异步包装器是个坏主意 - 什么是使复杂操作异步(背景线程)的正确方法?

 protected async Task<T> GetDataAsync<T>(string uriString, CancellationToken cancellationToken = default(CancellationToken))
    {
        var uriToLoad = new Uri(uriString);
        using (var httpClient = new HttpClient())
        {
            var response= await httpClient.GetAsync(uriToLoad, cancellationToken).ConfigureAwait(false);
            response.EnsureSuccessStatusCode();
            cancellationToken.ThrowIfCancellationRequested();

            var dataString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
            cancellationToken.ThrowIfCancellationRequested();

            // async wrapped call to sync API
            var result = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject<T>(dataString), cancellationToken).ConfigureAwait(false);
            cancellationToken.ThrowIfCancellationRequested();

            return result;
        }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# windows-phone async-await windows-runtime

1
推荐指数
1
解决办法
1249
查看次数

无法将"Windows.UI.Xaml.Controls.Canvas"类型的对象强制转换为"Canvas"类型

我有一个,canvas并希望得到它的名字Tapped.所以,我有这个XAML:

<Canvas Name="drawLine" ... >
...
</Canvas>
Run Code Online (Sandbox Code Playgroud)

这个函数绑定Tapped事件:

private void ChangePage(object sender, TappedRoutedEventArgs e)
{
     string name = ((Canvas)sender).Name.ToString();
     Frame.Navigate(typeof(Params), name);
}
Run Code Online (Sandbox Code Playgroud)

bug得到以下错误:

gotqn.exe中发生类型为"System.InvalidCastException"的异常,但未在用户代码中处理

附加信息:无法将类型为"Windows.UI.Xaml.Controls.Canvas"的对象强制转换为"gotqn.Canvas".

为什么((Canvas)sender).Name.ToString();会产生这样的错误?有没有其他方法来获得这个名字?

c# wpf canvas windows-runtime windows-phone-8.1

1
推荐指数
1
解决办法
652
查看次数

如何在XAML中的TextBlock末尾添加空格?(Windows 10,UWP)

Text="Some text:" 我想在冒号之后添加一个空格.

我尝试过xml:space="preserve",&#160;但似乎都没有效果.

我知道可以通过添加保证金来完成,但我很好奇是否有另一种方式.

xaml windows-runtime winrt-xaml windows-10 uwp

1
推荐指数
1
解决办法
2446
查看次数

注册URI关联应用程序(Windows Phone 8.1 RT)

您好我想创建一个方案URI来从另一个应用程序启动我的应用程序.我搜索了很多,我发现这个教程的URI关联,它显示了如何注册你的应用程序的A URI关联,但它是为Windows Phone 8.我正在开发一个Windows Phone 8.1 RT的应用程序,没有我找到工作的教程.至少我想知道WP 8.1 RT是否支持它.

c# windows-phone windows-runtime windows-phone-8.1

1
推荐指数
1
解决办法
645
查看次数

在A类列表中通知类A对B类对象的属性更改有什么好方法

我有A和B类如下:

public class A
{
  private List<B> myList;

  public List<B> MyList
  {
      get { return myList; }
      set { myList = value; }
  }

  private bool allComplete;

  public bool AllComplete
  {
    get { return allComplete; }
    set { allComplete = value; }
  }

  public void CalculateAllComplete()
  {
    foreach (B item in MyList)
    {
      if (!item.IsComplete)
      {
        AllComplete = false;
        return;
      }
    }
    AllComplete = true;
  }
}

public class B
{
  private bool isComplete;

  public bool IsComplete
  {
    get { …
Run Code Online (Sandbox Code Playgroud)

.net c# windows-runtime

1
推荐指数
1
解决办法
79
查看次数

如何在WinRT中清除TimeZoneInfo缓存?

在.NET中使用的一些值TimeZoneInfo被缓存,如当前使用的时区TimeZoneInfo.Local,DateTime.ToLocalTime等等.在传统的.NET架构的应用程序,该缓存可以通过调用被清除TimeZoneInfo.ClearCachedData(),如在文档解释.

但是,在WinRT应用程序(如Windows应用商店应用程序和Windows Universal Apps)中,ClearCachedDataAPI不可用.

如何清除WinRT环境中的时区缓存?

.net timezone windows-runtime uwp

1
推荐指数
1
解决办法
271
查看次数

检测到'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker'不匹配:值'1'与msvcrtd.lib中的值'0'不匹配

我有一个UWP的C库项目.有些C文件调用CPP文件中定义的C++ WINRT函数.它正在成功编译并生成库文件(LIB).我在Visual Studio 2015中使用更新1进行编译,目标平台是10.0.10240.0

但是,我想生成DLL而不是LIB文件.这是我更改项目所做的更改,以便生成DLL而不是LIB.

Try1:那么,在启动项目中,在配置属性=>常规中,我将配置从静态库更改为动态库.

在所有项目中,我从多线程调试(/ MTd)更改为多线程调试DLL(/ MDd).

Try2:创建了一个新项目Windows Universal Project,并将创建LIB的项目中的所有文件添加到此项目中.不过,我收到以下错误.

现在,我收到了错误

vccorlibd.lib(init.obj) : error LNK2038: mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker': value '1' doesn't match value '0' in msvcrtd.lib(app_appinit.obj)
vccorlibd.lib(init.obj) : error LNK2005: __crtWinrtInitType already defined in msvcrtd.lib(app_appinit.obj)
msvcrtd.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
Run Code Online (Sandbox Code Playgroud)

任何建议如何解决这个问题.

c c++ windows-runtime uwp

1
推荐指数
1
解决办法
1914
查看次数