小编Lai*_*ith的帖子

这是.Net Native编译和优化中可能存在的错误吗?

我在.Net Native和中发现了(可能是)过度优化的问题structs.我不确定编译器是否过于激进,或者我太盲目无法看到我做错了什么.

要重现此,请按照下列步骤操作:

步骤1:在Visual Studio 2015 Update 2中创建一个新的Blank Universal(win10)应用程序,目标是构建10586,最小版本为10240.调用项目NativeBug,以便我们拥有相同的命名空间.

第2步:打开MainPage.xaml并插入此标签

<Page x:Class="NativeBug.MainPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <!-- INSERT THIS LABEL -->
        <TextBlock x:Name="_Label" HorizontalAlignment="Center" VerticalAlignment="Center" />
    </Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)

第3步:将以下内容复制/粘贴到MainPage.xaml.cs

using System;
using System.Collections.Generic;

namespace NativeBug
{
    public sealed partial class MainPage
    {
        public MainPage()
        {
            InitializeComponent();

            var startPoint = new Point2D(50, 50);
            var points = new[]
            {
                new Point2D(100, 100), 
                new Point2D(100, …
Run Code Online (Sandbox Code Playgroud)

c# struct compiler-optimization .net-native uwp

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

我如何关注.Net Native神秘的堆栈跟踪?

由于UWP需要.Net Native(非常受欢迎),我现在正在获得神秘的堆栈跟踪.这是使用我的应用的人报告的异常:

System.InvalidCastException: InvalidCast_Com 
at SharedLibrary!<BaseAddress>+0x429e9d 
at SharedLibrary!<BaseAddress>+0x47d878 
at SharedLibrary!<BaseAddress>+0x48455a 
at SharedLibrary!<BaseAddress>+0x499043 
at SharedLibrary!<BaseAddress>+0x498fb7 
at SharedLibrary!<BaseAddress>+0x5ea468 
at SharedLibrary!<BaseAddress>+0x5ea418 
// this goes on...
Run Code Online (Sandbox Code Playgroud)

我知道在某处有一个无效的演员...但我需要知道SharedLibrary!<BaseAddress>+0x429e9d指向的是什么.

有没有办法找到这些链接指向的位置?

c# exception stack-trace .net-native

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

WinRT/Win8 Metro中的XAML基元

有人能够在WinRT中的XAML中添加原语吗?我正在尝试运行以下内容,这是除WinRT之外的所有基于XAML的技术的标准:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:System="using:System">

    <System:Double x:Key="MyWidth">550</System:Double>

</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

这不会在Visual Studio中显示错误,但会抛出一个XamlParseException,并显示消息"未找到类型'Double'..."

谢谢!

microsoft-metro windows-8 windows-runtime winrt-xaml

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

我怎样才能{x:绑定}到UWP中的DataTemplate的根类型?

我有一个模板,它接收一个stringas作为其数据类型:

<DataTemplate x:DataType="System:String">
   <TextBlock Text="{x:Bind}" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

但是这种绑定技术给了我一个构建错误.如何在{x:Bind}没有路径值的情况下使用?我想绑定字符串,而不是字符串中的属性.

c# xaml windows-store-apps uwp

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

有什么办法可以在x:DataType中使用值类型吗?

鉴于此DataTemplate:

<DataTemplate x:DataType="Color">
    ...
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

as运算符必须与引用类型或可空类型一起使用('Color'是不可为空的值类型)

当您按照错误操作时,它会自动生成使用该as运算符的视图的代码.

public void DataContextChangedHandler(global::Windows.UI.Xaml.FrameworkElement sender, global::Windows.UI.Xaml.DataContextChangedEventArgs args)
{
        global::Windows.UI.Color data = args.NewValue as global::Windows.UI.Color;
        if (args.NewValue != null && data == null)
        {
        throw new global::System.ArgumentException("Incorrect type passed into template. Based on the x:DataType global::Windows.UI.Color was expected.");
        }
        this.SetDataRoot(data);
        this.Update();
}
Run Code Online (Sandbox Code Playgroud)

我知道这{x:Bind}是新的,但为了以防万一,是否有人知道如何配置它以允许值类型,或至少使用直接投射?

c# xaml windows-store-apps uwp

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

使用x:Bind时,UpdateSourceTrigger = PropertyChanged的等价物是什么?

<TextBox Text="{Binding MyTitle, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)

使用时是否有相同的效果x:Bind

如果我像这样使用它,它只会在焦点改变时更新.

<TextBox Text="{x:Bind ViewModel.MyTitle, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)

c# data-binding xaml windows-store-apps

8
推荐指数
2
解决办法
3968
查看次数

PDF云注释背后的算法是什么?

我注意到几个PDF Annotation应用程序(Adobe Acrobat,Bluebeam等)都有一个算法,用于围绕多边形创建云模式:

PDF中的云注释

拖动此多边形的顶点时,将重新计算云模式:

PDF中修改的云注释

注意如何重新计算弧以包围多边形.它们不会被拉伸或扭曲.无论用什么算法来定义它似乎都是行业标准.有几个PDF编辑器允许您创建它,并且在每个编辑器中,拖动顶点时云弧看起来都相同.

我正在尝试创建一个复制它的WPF示例应用程序,但我似乎无法在任何地方找到生成云模式的文档.

我对图形设计和2D编程非常流利,而且我能够创建拖动顶点的工具,但是我需要帮助来弄清楚如何绘制这些弧.它看起来像一个系列ArcSegmentsPathGeometry.

所以我的问题是,在多边形周围创建这些弧的算法是什么?

要么

在哪里可以找到这些行业标准PDF模式,图纸和/或注释的文档?(云,箭头,边界等)

c# pdf algorithm graphics 2d

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

如何在SQL Server 2012 FileTable文件夹共享中启用权限?

成功创建FileTable后,我尝试查看文件共享但我的权限被拒绝.在Management Studio中,右键单击FileTable,然后"Explore FilteTable Directory"给出以下错误消息:

无法打开文件位置.未启用访问权限或您没有权限.

如果我尝试使用\ mycomputer\sqlexpress手动到达共享...,我仍然被拒绝访问.

这是在我的本地计算机上运行的SQL Express.我正在从同一台机器上访问此共享.我错过了什么?

sql-server-2012 filetable

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

如何在通用Windows应用程序中绑定模板内的空值?


在你回答之前,请看这篇文章.

首先得到答案可能会解决以下问题.


这是一个刚刚开始使用Windows 10(Universal Apps)的问题.在Windows 8.1和其他所有XAML技术中,这种技术完美无瑕.这是空白通用应用程序项目中的设置:

1.具有附加属性的静态类

创建一个包含附加属性的类Brush.把它放在项目的任何地方.

public static class MySettings
{
    public static Brush GetAccentBrush(DependencyObject d)
    {
        return (Brush)d.GetValue(AccentBrushProperty);
    }

    public static void SetAccentBrush(DependencyObject d, Brush value)
    {
        d.SetValue(AccentBrushProperty, value);
    }

    public static readonly DependencyProperty AccentBrushProperty = DependencyProperty.RegisterAttached(
        "AccentBrush",
        typeof(Brush),
        typeof(MySettings),
        null
        );
}
Run Code Online (Sandbox Code Playgroud)

2.使用附加属性将控件添加到MainPage.xaml

在主页面中,添加一个ContentControl自定义模板,Grid其背景颜色设置为重点画笔.重点画笔以风格设置.

<Page x:Class="UniversalTest.MainPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:local="using:UniversalTest"
      mc:Ignorable="d">
    <Page.Resources>
        <Style x:Key="MyControl"
               TargetType="ContentControl">
            <Setter Property="local:MySettings.AccentBrush"
                    Value="Green" /> <!-- Setting value here -->
        </Style>
    </Page.Resources>

    <Grid …
Run Code Online (Sandbox Code Playgroud)

c# xaml win-universal-app uwp

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

如何在WP8中增加VirtualizingStackPanel的范围?

这个问题主要针对Windows Phone开发人员,但我想任何XAML技术都适用.

我的VirtualizingStackPanel作品很棒,我可以看到内存使用的改进.但是,我在其中的项目的ListBox高度可变,并且实例化/绑定可能非常复杂.

当滚动速度非常快时,您会在面板赶上时开始看到死空间.在我看来,如果面板能够提前渲染更多项目,则可以解决此问题.

在这一点上,我感觉它只会在最后一个可见项目之后再渲染1或2个项目.有没有办法增加这个数字?可以提前5件物品吗?

如果答案是"否",有没有办法欺骗/破解它?

xaml virtualizingstackpanel windows-phone-7 windows-phone windows-phone-8

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