我在WP 8.1 XAML应用程序的某些页面中将NavigationCacheMode设置为Required.如何从中删除特定页面?这不是导航堆栈.
嗨,我不确定我是否遗漏了某些东西,或者这不属于我认为看似短视的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()
对于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
我有很多使用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) 我有一个,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();会产生这样的错误?有没有其他方法来获得这个名字?
Text="Some text:" 我想在冒号之后添加一个空格.
我尝试过xml:space="preserve", 但似乎都没有效果.
我知道可以通过添加保证金来完成,但我很好奇是否有另一种方式.
您好我想创建一个方案URI来从另一个应用程序启动我的应用程序.我搜索了很多,我发现这个教程的URI关联,它显示了如何注册你的应用程序的A URI关联,但它是为Windows Phone 8.我正在开发一个Windows Phone 8.1 RT的应用程序,没有我找到工作的教程.至少我想知道WP 8.1 RT是否支持它.
我有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中使用的一些值TimeZoneInfo被缓存,如当前使用的时区TimeZoneInfo.Local,DateTime.ToLocalTime等等.在传统的.NET架构的应用程序,该缓存可以通过调用被清除TimeZoneInfo.ClearCachedData(),如在文档解释.
但是,在WinRT应用程序(如Windows应用商店应用程序和Windows Universal Apps)中,ClearCachedDataAPI不可用.
如何清除WinRT环境中的时区缓存?
我有一个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)
任何建议如何解决这个问题.
windows-runtime ×10
c# ×7
.net ×3
uwp ×3
windows-10 ×2
winrt-xaml ×2
async-await ×1
c ×1
c++ ×1
canvas ×1
timezone ×1
wpf ×1
xaml ×1