标签: windows-runtime

C++中的WinRT异步文件操作

我目前正在开发一个需要一些文本资源的城域应用程序.构建过程的一部分是将所有这些资源复制到应用程序安装目录中的文件夹中.我想做的是收集这些资源文件的列表,并相应地处理每个文件.不幸的是,我这样做的尝试并不成功.

由于我正在为WinRT构建,我无法使用非常有用的"FindFirstFile"和"FindNextFile"函数.我一直在尝试使用WinRT异步文件IO操作完成工作.

auto getResourceFolder = installedLocation->GetFolderFromPathAsync(  folderPath  );

getResourceFolder->Completed = ref new Windows::Foundation::AsyncOperationCompletedHandler< Windows::Storage::StorageFolder^ >( 
[this]( Windows::Foundation::IAsyncOperation< Windows::Storage::StorageFolder^ >^ operation ) {

    if( operation->Status == Windows::Foundation::AsyncStatus::Completed ) {

        auto resourceFolder = operation->GetResults();
        auto getResourceFiles = resourceFolder->GetFilesAsync();
        getResourceFiles->Completed = ref new Windows::Foundation::AsyncOperationCompletedHandler< IVectorView< Windows::Storage::IStorageFile^ >^ >( 
        [this]( Windows::Foundation::IAsyncOperation< IVectorView< Windows::Storage::IStorageFile^ >^ >^ operation ) {

            if( operation->Status == Windows::Foundation::AsyncStatus::Completed ) {

                auto resourceFiles = operation->GetResults();

                for( unsigned int i = 0; i < resourceFiles->Size; ++i ) {

                    // Process File
                } …
Run Code Online (Sandbox Code Playgroud)

visual-c++ microsoft-metro windows-runtime c++-cx visual-c++-2012

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

在Metro风格应用中保存本地数据

我想在Windows 8 metro风格的应用程序中制作一个分数机制,并希望使用Windows.Storage.ApplicationData在本地保存该分数.自从我成为视觉工作室和App构建新手以来,我已经非常困难了.

var applicationData = Windows.Storage.ApplicationData.current;

var localSettings = applicationData.localSettings;

// Create a simple setting

localSettings.values["totalPike"] = '0';

// Read data from a simple setting

var totalPike = localSettings.values["totalPike"];

if (!totalPike) {
    // No data
}
else {
    // Access data in value
}

// Delete a simple setting

localSettings.values("totalPike");
Run Code Online (Sandbox Code Playgroud)

这就是Windows如何处理来自msdn的app数据

$(document).ready(function () {

        var clicks = 99;

        $("#totalScoreTestButton").click(function () {
            totalPike = totalPike + clicks
            $("#totalScoreTest").text(totalPike);
        });
});
Run Code Online (Sandbox Code Playgroud)

这是我用来将分数添加到当时基本总分的基本功能,但每当我关闭应用并再次启动它时,都不会保存分数.有人可以帮助我,如果可能的话,请解释一下Metro应用程序如何处理本地数据?

javascript windows visual-studio-express windows-runtime winjs

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

如何在WinRT图像控制中放大/缩小

我有一个WinRT Metro应用程序,我在其中显示图像.我现在想用捏手势放大/缩小.有没有一种简单的方法可以在图像控件上激活它,或者我是否必须自己实现整个手势/捏合逻辑?

c# windows-runtime

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

BackgroundTaskBuilder.Register中拒绝访问

var builder=new BackgroundTaskBuilder();

builder.Name=name;
builder.TaskEntryPoint=taskEntryPoint;
builder.SetTrigger(trigger);

if(condition!=null)
  builder.AddCondition(condition);

builder.Register(); // in this step I get exception System.UnauthorizedAccessException. Additional information: Access is denied.
Run Code Online (Sandbox Code Playgroud)

此异常在Windows 8发布预览中引发.在消费者预览中,我没有得到这个例外.

我使用SystemTrigger(SystemtriggerType.UserPresent)和SystemCondition(SystemConditionType.InternetAvailable)

在Package.appxmanifest文件中,我将System event复选框设置为true并输入Entry Point值.同样在Package.appxmanifest代码中我删除了'Executable'属性.

也许有人知道如何解决它?

先感谢您!

microsoft-metro windows-8 windows-runtime

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

在WinRT和C#中使用HttpRequestHeaders

我正在使用HttpWebRequests联系API并需要添加标头,但编译器告诉我该方法不存在.然而,当我检查MSDN时,它告诉我该方法已经存在.设置我的UserAgent属性也会失败.

有人可以帮我吗?

try{
     HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(url);
     wr.Method = "GET";

     wr.Headers.Add(System.Net.HttpRequestHeader.Authorization, string.Format("Bearer {0}", _accessToken));
     wr.UserAgent = _appNameAndContact;

     var resp = (System.Net.HttpWebResponse) await wr.BetterGetResponse();
     if (resp.StatusCode == System.Net.HttpStatusCode.OK)
     {
        using (var sw = new System.IO.StreamReader(resp.GetResponseStream()))
        {
             var msg = sw.ReadToEnd();

             User usr = JsonConvert.DeserializeObject<User>(msg);

              //var results = JSONHelper.Deserialize<User>(msg);

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

c# httpwebrequest http-headers windows-8 windows-runtime

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

强制WinRT应用程序捕捉视图

对于我的某个应用,我想在点击按钮后将应用程序发送到快照视图.据我所知,没有公共API可用于将正在运行的应用程序发送到快照视图.有没有人找到解决方法来做到这一点?

不管怎么说,它应该是可能的,因为你可以在Windows 8中自己完成它,然后捕捉其中一个正在运行的应用程序.

在此输入图像描述

更新:能够触发Win +.可能会做同样的伎俩,但WinKT中也没有SendKeys API.

microsoft-metro windows-8 windows-runtime

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

强制重新评估实时过滤的IListDataSource

我在使用createFiltered()创建的WinJS.Binding.List上使用实时过滤投影.

过滤谓词对一个字符串变量进行操作,该变量由监听Windows.ApplicationModel.Search.SearchPane.getForCurrentView().onquerysubmitted的事件处理程序设置.

当搜索字符串更改时,如何触发重新评估过滤后的投影?

windows-runtime winjs

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

从WinRT XAML中的滑块控件中删除工具提示

有没有办法从WinRT XAML中的滑块控件中删除工具提示?这就是我所指的:

提示

.net c# vb.net xaml windows-runtime

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

如何在WinRT中将字符串颜色转换为Brush

似乎ConvertFromString已从WinRT中消失.所以我很难找到一种方法来在组合框中取一个字符串并使用它设置文本前景和网格的背景.

这是我最近的尝试

private void ColorDropBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
    string backGroundColor = e.ToString();

    SolidColorBrush newcolor = new SolidColorBrush();

    newcolor = backGroundColor as SolidColorBrush;

    this.ContentRoot.Background = newcolor;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议/解决方法吗?

windows windows-runtime winrt-xaml

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

如何使用C#查看**winrt**应用程序中的特定设置页面?

如何使用C#从外部按钮单击查看winrt应用程序中的特定设置页面?

在javascript中我发现像这样的 WinJS.UI.SettingsFlyout.showSettings("About","/ Settings/Apache.html")

但我无法在c#中找到这个,我正在使用callisto来设置弹出窗口

microsoft-metro windows-8 windows-runtime

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