标签: windows-runtime

在(不适用于)Windows 8 ARM平板电脑上编译C#

是否可以在Windows 8平板电脑(WinRT)(ARM处理器版本)上编写和编译C#?

基本上它归结为:

  • 是否有一个在ARM上运行的C#编译器?
  • 是否有可以在WinRT中运行的IDE?

如果以上是真的,我看不出有什么问题,但我如果C#编译器在ARM(仅限了很多关于编制员额的运行,目前尚无法找到 ARM).我也看过SharpDevelop,发现他们的源代码编译为"Any CPU",根据这篇文章:Windows RT和c#,意味着它将在ARM上运行.

然而,Sharpdevelop需要.NET 4.0"Full"运行时,如果WinRT有,我无法找到.我敢打赌它没有,因为WinRT应该是一个非常轻量级的Windows版本.

作为旁注,我知道Windows平板电脑将分为两个版本,一个用于ARM,另一个用于经典处理器.经典处理器将运行正常的Windows 8版本,这意味着它可以运行所有本机应用程序.编译C#在这里不是问题 - 所以问题是,我可以在ARM上做同样的事情吗?


这对于旅行和快速尝试新想法来说非常棒.

c# ide compiler-construction arm windows-runtime

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

如何知道某些方法是否可以抛出异常

我是Windows 8和C#开发的新手,但我对Java Programming有一定的经验.

所以,当我尝试在java中创建一些Json解析器(例如)时,我不能在不使用try-catch块的情况下执行此操作,这样我就可以处理异常,但是当我尝试在c#中执行相同操作时(Windows 8)我不使用try-catch块也可以,如下所示:

if (json != null)
{
        JObject jObject = JObject.Parse(json);

        JArray jArrayUsers = (JArray)jObject["users"];

        foreach (JObject obj in jArrayUsers)
        {
            ListViewMainViewModel user = new ListViewMainViewModel(
                (String)obj["email"],
                (String)obj["token"],
                (String)obj["institution"],
                (String)obj["uuidInstitution"]);

            usersList.Add(user);
        }
        return usersList;
    }

}
Run Code Online (Sandbox Code Playgroud)

我知道正确的方法是捕获JsonReaderException,但Visual Studio从未警告过我.我想知道是否有一种简单的方法可以知道某个方法是否抛出异常,就像在使用eclipse的java上一样(它是强制实现try-catch块或代码不会编译)

c# windows-8 windows-runtime

13
推荐指数
3
解决办法
8518
查看次数

如何让SQLite在Windows 10上运行?

哟,

所以我一直在一台机器上开发Visual Studio 2013中的通用Windows应用商店应用,并希望继续在运行Windows 10 Technical Preview的另一台机器上开发它.

问题是在Visual Studio 2015 Preview中有一个新的C++ Redistributable包版本(2015),而最新的SQLite需要版本2013,因此缺少特定的引用.我可以构建项目,它成功部署,但有一个例外,说它无法加载sqlite3.dll.我假设这是因为缺少Visual C++ Redistributable Package 2013.我尝试下载它,但是在Extensions下的Add reference对话框中仍然缺少该条目,在VS 2013上可以看到它.

任何让它成功的经验?关于SQLite何时适用于Windows 10的任何内幕消息?

干杯

c# sqlite windows-runtime winrt-xaml windows-10

13
推荐指数
2
解决办法
2万
查看次数

绑定到父ListViewItem的IsSelected属性

我正在尝试将TextBlockListView的ItemTemplate中的Visibility属性绑定到TextBlock的父ListViewItem的IsSelected属性.

使用此标记,TextBlock始终可见.

<ListView x:Name="ItemListView" ItemsSource="{Binding Path=Accounts}" Margin="60,0,0,10" Grid.Row="1" Grid.Column="0">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="100">
                    </ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="200"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Image Width="100" Height="100" Grid.Column="0"></Image>
                <StackPanel Grid.Column="1">
                    <TextBlock Text="{Binding Path=Account.Name}"  
                                FontSize="24" Margin="5,0,0,0" TextWrapping="Wrap" />
                </StackPanel>
                <TextBlock Grid.Column="3" VerticalAlignment="Bottom"
                            Visibility="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=IsSelected, Converter={StaticResource boolConverter}, Mode=OneWay}">
                    Show More Details...
                </TextBlock>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)

注意:1.如果有任何不同,这是WinRT; 用C#编写的Metro应用程序.2. boolConverter是一个相当标准的转换器似乎正常工作.

wpf xaml binding windows-runtime winrt-xaml

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

如何使用data-win-bind设置元素的类

我正在尝试动态设置listview项模板的类:

<div id="semanticZoomTemplate" data-win-control="WinJS.Binding.Template" style="display: none">
    <h1 class="semanticZoomItem-Text" data-win-bind="innerText:title;class:contains"></h1>
</div>
Run Code Online (Sandbox Code Playgroud)

但是当"class"作为属性名称出现时,data-win-bind无法执行任何操作.

如果确实我无法使用data-win-bind更改类,是否有正确的方法来设计列表视图中的特定项?

windows-8 windows-runtime winjs

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

Task.Run和Func <>

如何运行返回值并获取参数的任务?我看到有一个重载方法,Task.Run<TResult>(Func<TResult>)但我如何在那里传递参数?

c# windows-runtime .net-4.5

12
推荐指数
2
解决办法
1万
查看次数

连接两个Windows运行时缓冲区的最佳方法是什么?

我编写了以下扩展方法来连接Windows运行时应用程序中的两个IBuffer对象:

public static IBuffer Concat(this IBuffer buffer1, IBuffer buffer2)
{
    var capacity = (int) (buffer1.Length + buffer2.Length);
    var result = WindowsRuntimeBuffer.Create(capacity);
    buffer1.CopyTo(result);
    buffer2.CopyTo(0, result, buffer1.Length, buffer2.Length);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

这是处理这个问题最有效的方法吗?有更好或更简单的方法吗?

我已经回顾了在C#中组合两个或多个字节数组的最佳方法,但我认为我不应该转换为字节数组.

c# windows-runtime

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

什么/为什么WinRT随机创建新的清洁布局

因此,在开发WinRT应用程序时,偶尔和看似随机的Visual Studio经历了一个漫长的过程,从"创建一个新的干净布局......"开始,我想了解有关WinRT应用程序所涉及的构建和部署过程的更多信息.我理解创建在某种沙箱环境中运行的应用程序的概念,但我正在寻找有关该沙箱环境的信息.另外(这可能听起来很愚蠢)但是在沙箱中运行的可执行文件有什么不同,为什么它不能作为独立运行?感谢您提前获取的信息.

我曾尝试对此进行一些研究,但对WinRT的这一部分似乎知之甚少.

编辑:

我将开始对此表示赏心悦目,因为我真的不理解它,谷歌/微软在我搜索时非常贫瘠.所以获得赏金的问题是:

  • 有关WinRT/Windows应用商店应用的构建/部署过程的详细信息?
  • 在"创建一个新的清洁布局......"阶段实际发生了什么?
  • 传统可执行文件和在沙箱环境中运行的Windows 8应用程序之间有什么区别?这些应用是如何启动/管理的?

先感谢您!!

deployment build windows-8 windows-runtime visual-studio-2012

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

WinRT目标多字节代码页中不存在Unicode字符的映射

我试图在我的Windows 8商店应用程序中读取文件.这是我用来实现此目的的代码片段:

        if(file != null)
        {
            var stream = await file.OpenAsync(FileAccessMode.Read);
            var size = stream.Size;
            using(var inputStream = stream.GetInputStreamAt(0))
            {
                DataReader dataReader = new DataReader(inputStream);
                uint numbytes = await dataReader.LoadAsync((uint)size);
                string text = dataReader.ReadString(numbytes);
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是,在行中抛出一个例外:

string text = dataReader.ReadString(numbytes);
Run Code Online (Sandbox Code Playgroud)

执行消息:

No mapping for the Unicode character exists in the target multi-byte code page.
Run Code Online (Sandbox Code Playgroud)

我怎么得到这个?

file-io datareader windows-8 windows-runtime

12
推荐指数
2
解决办法
8313
查看次数

MessageDialog在具有3个命令的Windows Phone 8.1上中断

我正在尝试使用3个命令将MessageDialog添加到Windows Phone 8.1应用程序(WinRT).查看MessageDialog的文档:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.popups.messagedialog.aspx

它说"对话框有一个命令栏,可以支持最多三个命令",所以我认为这不会是一个问题.我拿了他们的例子(在文档中找到)并制作了一个简单的测试应用程序,它在桌面和Windows手机上都运行得很好.然后,我采用相同的示例并向其添加了一个命令:

var messageDialog = new MessageDialog("No internet connection has been found.");

// Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers
messageDialog.Commands.Add(new UICommand(
    "Try again",
    new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand(
    "Something else",
    new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand(
    "Close",
    new UICommandInvokedHandler(this.CommandInvokedHandler)));

// Set the command that will be invoked by default
messageDialog.DefaultCommandIndex = 0;

// Set the command to be invoked when escape is pressed
messageDialog.CancelCommandIndex = 1;

// Show …
Run Code Online (Sandbox Code Playgroud)

c# messagedialog windows-runtime windows-phone-8.1

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