小编dka*_*man的帖子

是否有一个与System.Windows.Forms.Screen等效的WPF?

我正在尝试创建一个包含整个桌面工作区的WPF窗口.在WinForms中,我通过获得所有界限的联盟来做到这一点System.Windows.Forms.Screen.AllScreens.

是否有相同的类型或其他机制来获取WPF中整个桌面的边界,还是需要使用WinForms类型?

wpf desktop

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

我如何发出System.Linq.Expression?

我有一个产生各种一些代码Func<>使用委托System.Linq.ExpressionsExpression.Lambda<Func<>>.Compile()等等,我想能够序列化生成的函数为供以后使用的组件.在过去,我已经使用System.Reflection.Emit做了一些事情,但是现在Linq表达式我宁愿不再去那条路了.

是否有一种机制可以将已编译的表达式或某种桥接从Expressions命名空间序列化到Emit命名空间?

编辑

上下文的一些背景:我正在研究一个查询引擎(主要是为了我自己的启发和享受).给定一个SQL语句,我想解析并将其转换为lambda函数,然后将其序列化为磁盘以供以后使用(并重复执行).

在伪代码我到这一点:

Func<IEnumerable<T>, IEnumerable<T1>> query = Query.Parse<T, T1>("Select field AS A, field1 AS B from T where T.field2 > 5");
Run Code Online (Sandbox Code Playgroud)

(其中字段,字段1字段2是性能T型是属性类型T1.和我可以通过任何枚举<T>query并取回和的枚举<T1>所述查询条件相匹配.

所以我想将序列化为query磁盘作为已经编译的程序集,所以在以后我可以加载它并评估不同的集合<T>而不解析和编译它.我正在想象一下:

AssemblyBuilder builder = new AssemblyBuilder(...);
ModuleBuilder module = builder.DefineDynamicModule(...);
TypeBuilder type = module.DefineType(...);
type.AddMethod(query);  // <--- where this piece does not …
Run Code Online (Sandbox Code Playgroud)

c# lambda reflection.emit .net-4.0 linq-expressions

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

有DGML查看器吗?

我开始使用DGML来基于一些制造流程数据来可视化有向图.它比谚语鼻涕更有效,并且很容易生成.

唯一的问题是我能找到的唯一DGML查看器是VS.NET 2010.看起来查看器是基于MSAGL构建的,但即使这样看起来也不直接支持DGML.

是否存在独立的DGML查看器?优选作为可嵌入组分.甚至更优选地作为WPF.

dgml

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

什么是C#/ CLI的等效于C#的默认值(T)?

我正在使用一些C++/CLI代码(新语法)并尝试声明泛型类型,并希望将成员变量设置为默认值.

在C#中:

class Class<T>
{ 
    T member = default(T);
}
Run Code Online (Sandbox Code Playgroud)

CLI中的等价物是什么?

generic<typename T> public ref class Class 
{
public:
    Class() : member(default(T))  // <-- no worky
    {
    }    
private:
        T member;
};
Run Code Online (Sandbox Code Playgroud)

.net generics default c++-cli

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

有没有办法在Excel或PowerBI之外调用PowerQuery/M?

我们的BI团队正在逐渐成长为喜欢Excel和Power BI中使用的Power Query ETL工具.功能语言M/PowerQuery具有很好的实用性,能够在PowerBI的上下文之外使用会很好.

是否有计划将"M"暴露为独立模块,可以像c#或PowerShell一样调用?

c# powershell m powerquery powerbi

14
推荐指数
2
解决办法
2108
查看次数

.net中是否有光纤api?

出于好奇心,我一直在寻找一套C#/ .net类来支持光纤/协同程序(win32版本)并且没有任何运气.

有人知道这样的野兽吗?

.net c# fiber

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

DataBound Pivot控件未创建第一个PivotItem

在Windows Phone 7页面中,我有以下控件:

<controls:Pivot x:Name="Pivoter" Title="{Binding Name}" 
      TitleTemplate="{StaticResource PivotTitleTemplate}" 
      HeaderTemplate="{StaticResource PivotHeaderTemplate}"
      ItemsSource="{Binding Items}"
      ItemTemplate="{StaticResource DisplayItemDataTemplate}">
</controls:Pivot >
Run Code Online (Sandbox Code Playgroud)

使用此DataTemplate:

<DataTemplate x:Key="DisplayItemDataTemplate">    
    <Image Grid.Column="0" Stretch="Uniform"
        Source="{Binding LargeImage, Converter={StaticResource UriBitmapConverter}}"/>
    <StackPanel Grid.Column="1" Orientation="Vertical">
        <HyperlinkButton NavigateUri="{Binding Uri}" Content="{Binding Uri}"/>
    </StackPanel>    
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

ItemsSource是一个ObservableCollection.当页面显示时,它会创建所有页面,PivotItems但第一个项目不会被创建,除非我向前滚动并返回它.它在滚动列表中有一个条目但没有PivotItem控件.

如果我在Pivot Control的LoadingPivotItem事件中设置了一个断点,那么在第一次显示数据时不会调用它,但是当我滚动并返回到第一个项目时,它只会被击中.

是否有人看到过类似的Pivot控件行为并有解决方法?或者我做错了什么?

silverlight pivot windows-phone-7

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

为什么这段代码会抱怨"泛型类型定义的arity"?

我有一个通用类型:

class DictionaryComparer<TKey, TValue> : IEqualityComparer<IDictionary<TKey, TValue>>
Run Code Online (Sandbox Code Playgroud)

还有一个工厂方法,它将(应该)为给定的字典类型创建此类的实例.

    private static IEqualityComparer<T> CreateDictionaryComparer<T>()
    {
        Type def = typeof(DictionaryComparer<,>);
        Debug.Assert(typeof(T).IsGenericType);
        Debug.Assert(typeof(T).GetGenericArguments().Length == 2);

        Type t = def.MakeGenericType(typeof(T).GetGenericArguments());

        return (IEqualityComparer<T>)Activator.CreateInstance(t);
    }
Run Code Online (Sandbox Code Playgroud)

剥去所有无关紧要的东西 - 即使这段代码也会引发同样的异常.

private static object CreateDictionaryComparer()
{
    Type def = typeof(DictionaryComparer<,>);

    Type t = def.MakeGenericType(new Type[] { typeof(String), typeof(object) });

    return Activator.CreateInstance(t);
}
Run Code Online (Sandbox Code Playgroud)

Asserts传递所以我知道它T是通用的并且有两个通用参数.MakeGenericType然而,除了以下内容的线路:

提供的泛型参数的数量不等于泛型类型定义的arity.

参数名称:实例化

我过去做过这种事情,因为我的生活无法弄清楚为什么在这种情况下这不起作用.(加上我必须谷歌arity).

c# generics reflection arity

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

在UWP应用程序中存储API密钥和机密的推荐方法是什么?

对于UWP应用程序,建议使用API​​密钥和秘密令牌等应用程序部署秘密的机制是什么?对于用户生成的身份验证令牌,PasswordVault很有意义,但我看不到将这些设置为应用程序部署的一部分的方法.到目前为止,我已将它们嵌入到应用程序中,这似乎并不"正确"或安全.

.net c# win-universal-app

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

Signtool"错误:SignerSign()失败." (-2147024885/0x8007000b)

编辑

事件日志错误是这样的:

    error 0x8007000B: The app manifest publisher name (CN=...) 
must match the subject name of the signing certificate 
(CN={19BE29DF-4812-4F2E-8FC1-A138B146946A}).
Run Code Online (Sandbox Code Playgroud)

现在看来下面的命令似乎有效.因此,当我看到这个时,无论是我无法识别的用户错误还是与机器状态有关的东西.与事件日志消息中的签名证书关联的guid不是证书管理器管理单元中显示的证书,这很奇怪.

原始问题

我正在尝试签署使用生成的UWP appx包MakeAppx.exe.pfx是使用https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-manual-conversion这些命令生成的开发人员代码签名证书.

C:\> MakeCert.exe -r -h 0 -n "CN=<publisher_name>" -eku 1.3.6.1.5.5.7.3.3 -pe -sv <my.pvk> <my.cer>
C:\> pvk2pfx.exe -pvk <my.pvk> -spc <my.cer> -pfx <my.pfx>
Run Code Online (Sandbox Code Playgroud)

私钥位于我受信任的根证书存储区中,并且在我使用Desktop App Converter从安装程序生成appx时工作.

我使用的命令行是:

signtool.exe sign -f <path to my pfx file> -fd SHA256 -v .\FishTank.appx
Run Code Online (Sandbox Code Playgroud)

但是SignTool错误的是:

The following certificate was selected:
    Issued to: ...
    Issued by: …
Run Code Online (Sandbox Code Playgroud)

signtool windows-store-apps appx desktop-app-converter desktop-bridge

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