小编Ωme*_*Man的帖子

使用WPF在C#中异步加载BitmapImage

使用WPF在C#中异步加载BitmapImage的最佳方法是什么?似乎存在许多解决方案,但是存在标准模式还是最佳实践?

谢谢!

c# wpf

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

PowerShell中的自定义排序

我是动力贝壳的新手.

我的问题是我有以下格式的文件名:

[ignore-prefix]-[important-middle]-[ignore-suffix]-[name-with-digits]
Run Code Online (Sandbox Code Playgroud)

我需要按照以下规则排序:首先按中间部分,然后按名称按自然顺序排序(即foobar10> foobar2).我不知道前缀值,但我知道分隔符(破折号).

所以我的第一次尝试,自然:

 filelist | Sort-Object -property @{Expression=`
       {$_.FullName.SubString($_.FullName.IndexOf("-")+1)}}
Run Code Online (Sandbox Code Playgroud)

这有一个问题,后缀影响顺序(ignore-aaa-1ignore-wname)在ignore-aaa-2ignore-aname之前排序,所以:

 $filelist | Sort-Object -property @{Expression=`
       {$_.FullName.SubString($_.FullName.IndexOf("-")+1,`
        $_.FullName.SubString($_.FullName.IndexOf("-")+1).IndexOf("-"))}}
Run Code Online (Sandbox Code Playgroud)

好吧,那个在中间排序,但已经不合时宜了.如果我要添加更糟糕的自然类型.这样做更优雅的方式是什么?

powershell

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

WPF中的ContextMenu

我是WPF的新手,虽然我有一些WinForms的经验.我只想为我动态创建的几个对象添加ContextMenu,但我在VS工具箱中找不到ContextMenu组件.我找到的唯一方法是在运行时创建ContextMenu,如下所示:

ContextMenu pMenu = new ContextMenu();
MenuItem item1  = new MenuItem();
MenuItem item2  = new MenuItem();

//I have about 10 items
//...
item1.Header = "item1";
item1.Click += new RoutedEventHandler(item1_Click);
pMenu.Items.Add(item1);

item2.Header = "item2";
item2.Click += new RoutedEventHandler(item2_Click);
pMenu.Items.Add(item2);

//and so on
Run Code Online (Sandbox Code Playgroud)

但是,在WinForms中,我可以将ContextMenuStrip组件放到我的表单中,并且可以非常快速地定义项目和事件,而无需编写任何代码.在WPF中有可能吗?

c# wpf contextmenu

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

如何正确使用Copy-Item cmdlet?

我正在构建一个小脚本,它应该将所有.zip文件复制到一个名为的特殊文件夹中 F:\tempzip.

我尝试使用Copy-Item cmdlet,但我没有设法做到这一点.该脚本应该复制此文件夹中的所有文件(递归),即".zip".

这是我正在讨论的脚本的一部分:

get-childitem F:\Work\xxx\xxx\xxx -recurse `
   | where {$_.extension -eq ".zip"}       `
   | copy-item F:\tempzip
Run Code Online (Sandbox Code Playgroud)

我需要添加什么?

powershell copy powershell-2.0

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

在SharePoint 2013中以编程方式创建文件夹

目前我有代码Documents在运行时在目录中创建一个文件夹:

using (var context = new Microsoft.SharePoint.Client.ClientContext(sharePointSite))
{
    context.Credentials = new Microsoft.SharePoint.Client.SharePointOnlineCredentials(user, password);

    Web web = context.Web;

    Microsoft.SharePoint.Client.List docs = web.Lists.GetByTitle(<upper level folder>);
    docs.EnableFolderCreation = true;

    docs.RootFolder.Folders.Add(folderName);

    context.ExecuteQuery();

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

我在使用此代码创建的文件夹中创建子文件夹时遇到了麻烦.因此,如果我想创建一个名为Febunder Documentsthis 的文件夹就可以了.但是,如果我想创建一个Week 2在新文件夹下调用的文件夹Feb.它不会那样做.我收到此错误:

{"List 'Feb' does not exist at site with URL 'https://my.sharepoint.com/sites/labels'."}

我意识到问题可能是docs.RootFolder.Folders.Add(folderName);因为它Feb不是根文件夹,当它查找它时会抛出异常.

所以我希望有人可以帮我解决一些代码,将子文件夹添加到已创建的文件夹中.我使用Visual Stuidos 2010并且无法升级到2012,否则我会.我有Microsoft.Sharepoint.Client可以在VS 2010中引用的2013 dll.

c# sharepoint-2013 csom

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

无法添加Docker支持Visual Studio 2017

我正在使用VS 2017.我有一个Web服务,我想添加docker支持.当我右键单击并打开菜单添加docker支持时,它显示为灰色.是什么导致它变灰了?如何为我的应用添加docker支持?

*附注我进入解决方案并添加了一个新项目(Web应用程序),当它完成添加新项目后,我可以添加docker支持但仍然无法添加对我的其他Web服务的支持.这两个项目都针对.net Framework 4.5.2

c# .net-4.5 docker visual-studio-2017

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

解决编译错误“CS8601可能的空引用分配”

从 C# 8.0 开始,默认情况下标准是不可为 null 的变量。参考1

但对于像这样的泛型:

    public static T PerfomIO<T>(Func<T> function, T defaultValue = default)
    {
        try
        {
            return function();
        }
        catch (IOException)
        {
        }

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

如何摆脱当我尝试传递“default”时出现的编译错误“CS8601可能的空引用分配”?

我想在这里支持空值。我不想禁用错误消息。我想按照应有的方式对其进行编程。

我尝试以多种方式添加 Nullable 但没有成功。我尝试 [AllowNull] 但没有成功

在此输入图像描述

c# parameters default nullable compiler-errors

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

在 Azure Data Studio 中,令牌检索失败并出现错误

使用最新的Azure Data Studio版本:1.32.0

尝试使用访问数据库Azure Active Directory MFA并收到错误:

令牌检索因错误而失败。打开开发者工具查看错误

我该如何解决?

Connection type: Microsoft SQL Server
Authentication type: Azure Active Directory - Universal with MFA support
Run Code Online (Sandbox Code Playgroud)

服务器、帐户和数据库字段均填充有各自的必要信息。

弹出一个浏览器窗口,要求输入用户名/密码,我输入有效的凭据,然后在随后的浏览器中确认身份验证,并附有关闭浏览器窗口的说明。然后,Azure Data Studio 将显示如上所述的错误。

sql-server azure azure-active-directory multi-factor-authentication azure-data-studio

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

自定义PowerShell主机并将PSObject转换回基本类型

托管PowerShell运行时是否可以将PSObject其转换回原始类型?

例如:

我有一个cmdlet调用WriteObject并推送管道中的ClassXzy集合.当我PowerShell.Invoke从主机端调用时,我检索PSObject带有BaseObject属性的s 集合.铸造BaseObjectClassXyz失败.

有没有办法将每个属性值映射到其对应的原始对象?
我假设PowerShell以某种方式执行此操作,因为您可以将PSObjects 传递给cmdlet并将它们转换为参数类型.但是怎么样?

我花时间用反射器撕裂了PS组件,但还没有真正确定这种魔法是如何发生的.

有任何想法吗?

编辑:我忘记了一个非常重要的细节.在PSObject我正在测试对,因此是一个远程对象BaseObject类型命名Deserialized.ClassXyz.这就是我看到这种奇怪行为的原因.

.net c# powershell powershell-sdk

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

如何根据时间或百分比剪切/裁剪/修剪视频,并将输出保存在不同的文件中

是否有任何教程或ac#库可以帮助我完成以下任务

  1. 选择要编辑的文件
  2. 要求用户选择剪切/裁剪/修剪方法: - 按时间或百分比
  3. 按所选时间或百分比剪切/裁剪/修剪视频(假设我希望将5分钟视频减少到4分钟视频,或将视频减少80%)
  4. 按要求在所需路径中保存视频

现在步骤1)和4)我已经实现但是找不到一个好的c#库来完成3)和4)

ffmpeg查了一下库,但找不到一个好的C#包装器来完成这些要求

任何帮助将深表感谢

谢谢

.net c# video video-capture wrapper

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