小编Jes*_*ger的帖子

WPF RenderTargetBitmap缺少元素

我有一个TreeView,数据模板中显示了小图标.我正在尝试使用RenderTargetBitmap将Treeview保存为PNG.

图像可以正确保存在小数据集上.但是,如果数据集变得太大,则会从最终图像中排除某些图标.神奇的数字似乎是200项.如果树是深的还是宽的,似乎没关系,在200个项目之后,图标不会被渲染.

添加了代码

所以这是我用于创建图像的代码.

        RenderTargetBitmap targetBitmap = new RenderTargetBitmap(
            (int)_treeView.ActualWidth,
            (int)_treeView.ActualHeight,
            96, 96, PixelFormats.Default);

        targetBitmap.Render(_treeView);
Run Code Online (Sandbox Code Playgroud)

添加了屏幕截图

注意树的右侧缺少图标. 屏幕截图的缺少图标

现在,如果我折叠了几个分支,从而隐藏了一些其他图标,那么这些图标就包括在内.它几乎像RenderTargetBitmap.Render无法渲染所有图标.或者它可能与虚拟面板有关. 包含图标的屏幕截图

这是一个仔细看看. 在此输入图像描述

wpf rendertargetbitmap

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

ASP.NET Web API CORS不能与AngularJS一起使用

我有一个在某个端口上本地运行的ASP.NET Web API,我有一个在8080上运行的angularjs应用程序.我想从客户端访问api.

我可以成功登录并注册我的应用程序,因为在我的OAuthAuthorizationProvider中显式设置/ Token端点中的repsonse标头.

    public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
    {
        context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
Run Code Online (Sandbox Code Playgroud)

非常好.但是,我的其他API方法似乎不起作用.在我的WebApiCongig.Register中,我启用了CORS,我将EnableCors属性添加到我的控制器,以允许所有来源,所有标题和所有方法.我可以在控制器上的get方法中设置一个断点,它就可以了.这是我在chrome中观看网络选项卡的内容.

2个请求被发送到相同的api方法.一种方法类型为OPTIONS,另一种方法类型为GET.OPTIONS请求标头包括这两行

Access-Control-Request-Headers:接受,授权

访问控制请求-方法:GET

响应包括这些行

访问控制允许报头:授权

访问控制允许来源:*

但是,GET方法请求看起来很不一样.它返回ok状态代码为200,但它不会包含和访问请求或响应中的控制头.就像我说的那样,它可以很好地击中API.我甚至可以做一个POST并保存到数据库,但客户抱怨响应!!

我已经查看了每一个SO问题,并尝试了各种启用cors的组合.我正在使用Microsoft.AspNet.Cors版本5.2.2.我正在使用AngularJS 1.3.8版.我也使用$ resource服务而不是$ http,这似乎也没有什么区别.

如果我能提供更多信息,请告诉我.

顺便说一下,我可以通过简单地包含Bearer令牌来使用Fiddler和/或Postman访问Web API.

c# asp.net asp.net-web-api angularjs

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

使用Windows服务接收MSMQ消息

我正在用C#创建一个Windows服务.

听消息的最佳方法是什么?我该如何正确编码?

c# windows-services msmq

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

库存数据库设计

我找到了几个库存数据库的例子.但我正在寻找一些不同的东西.我正在使用SQL.

我需要跟踪工具.员工可以检查工具,并减少该工具的库存,并将该事务记录在(checked_out)表中.容易远.

当员工返回工具或工具时,员工可以选择.他可以将工具退回库存.还算容易.或者他可以将工具打破并丢弃,换句话说,将其记录到垃圾桌.或者他可以将工具放入resharpen bin并将其记录到resharpen表中.这是我感到困惑的地方.

database-design

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