不使用媒体播放器播放video

我想播放像那个人那样的video[链接] 。 我正在使用C#Windows表单应用程序(不是NXA)。 但我不知道怎么做。 我尝试使用Microsoft.DirectX.AudioVideoPlayback但没有运气。 这是我到目前为止所尝试的: OpenFileDialog rihanna = new OpenFileDialog(); if(rihanna.ShowDialog() == DialogResult.OK) { video = new Video(rihanna.FileName); video.Owner = panel1; video.Stop(); } 现在我该怎么办? 我尝试使用video课,但正如我所说,它只是没有用。 我能够编译但是当我运行程序时,我没有看到窗体窗口。

Active Directory PrincipalContext.ValidateCredentials域消除歧义

我正在处理两个域 – 一个是可信域。 一个域上可能有JohnSmith,另一个域上可能有另一个JohnSmith。 这两个人都需要登录我的应用程序。 我的问题:我传入哪个域无关紧要 – 此代码返回true! 我怎么知道JohnSmith正在登录哪个? static public bool CheckCredentials( string userName, string password, string domain) { using (var context = new PrincipalContext(ContextType.Domain, domain)) { return context.ValidateCredentials(userName, password); } }

如何使用automapper映射具有多个表的数据集

免责声明:这是一个旧的stackoverflowpost的副本粘贴,不再可用,但我有同样的问题,所以它似乎适合重新发布它,因为它从来没有回答。 我有一个存储过程将返回4个结果集(联系人,地址,电子邮件,电话),这些结果集填充到数据集中。 我想使用AutoMapper来填充复杂的对象。 public class Contact { public Guid ContactId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public List Addresses { get; set; } public List Phones { get; set; } public List Emails { get; set; } } public partial class Address:BaseClass { […]

将图像添加到ASP.net核心

我想添加一个图像作为模型类的一部分,并将其显示在索引视图上。 我有问题要么将图像分类为byte []或iFormFile。 这就是我想要实现的目标 创建一个页面以插入员工列表 在索引页面中,能够列出员工并查看他们的图像。 这是模型。 Employee.cs using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; namespace MvcMovie.Models { public class Employee { public int ID { get; set; } [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } [Required] public string Nationality { […]

当表单有许多下拉列表控件时,C#.net窗体中的缓慢forms会resize

我创建了一个带有许多下拉列表的窗体,它放在一个网格(不是数据网格)中,当我在所有这些窗口中使用anchor = left right top bottom和dock = fill选项时,表单resize在运行时变慢。 dock和anchor选项有什么问题? 这是forms的一般问题吗? 使用.net组件和Windows窗体是一般的缺点吗? 我没有在控件resize上处理任何自定义事件,所以问题是关于Microsoft开发的控件。 我应该避免使用dock = fill吗?

如何在两个ViewModel之间建立通信/传递数据

我知道这个问题已经被多次询问了,我已经阅读了很多关于它的答案。 然而,它们都没有满足我的要求,因此我需要一些建议。 我正在开发的应用程序看起来像这样: http : //screenshooter.net/100101493/smrkpog 它是基于MVVM Light Toolkit的WPF MVVM应用程序。 带网格的区域是ListBox + Canvas 。 这些项目(让我们称之为“Neumes”)再次由ListBox + Canvas组成,并由用户动态创建。 每个Neume都由’Elements’组成,它们呈现为红色形状。 当用户双击Neume时,将打开一个新窗口。 它应该允许编辑(翻译,resize,旋转)所选Neume的元素。 我想要做的是将存储在MainViewModel中的SelectedNeume(带有一个Elements列表)传递给我新创建的窗口的ViewModel。 我对如何实现这个有一些想法 : 完全跳过新的ViewModel并将MainViewModel设置为新窗口的DataContext , 在新的ViewModel中创建一个’MainViewModel’字段,并在打开一个新窗口时将其传递给那里 使用MVVM Light Toolkit提供的Messaging / Mediator模式。 我正在寻找既简单又整洁的解决方案。 我很乐意使用选项3.但就WPF而言,我是一个相对新手,并且不知道如何真正开始。 此外,我担心当主ListBox上的双击事件被触发时,新窗口打开的事实可能会出现问题,因为我找不到将命令绑定到ListBoxItem的方法。它的Style还是DataTemplate(事件触发器/ EventToCommand解决方案对我不起作用)。 这是事件: private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var item = ((FrameworkElement)e.OriginalSource).DataContext as Neume; if (item != null) { var […]

使用NAudio修剪mp3文件

是否可以使用NAudio修剪MP3文件? 我正在寻找一种方法来采取一个标准的MP3文件,并采取它的一部分,使其成为一个单独的MP3。

web api中的内存缓存

我在我的web api中寻找缓存 ,我可以使用一个api方法的输出(在12小时内更改一次)进行后续调用,然后我在SO上找到了这个解决方案 ,但是我很难理解并使用下面的代码 private IEnumerable GetFromCache(string key, Func<IEnumerable> valueFactory) where TEntity : class { ObjectCache cache = MemoryCache.Default; var newValue = new Lazy<IEnumerable>(valueFactory); CacheItemPolicy policy = new CacheItemPolicy { AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(30) }; //The line below returns existing item or adds the new value if it doesn’t exist var value = cache.AddOrGetExisting(key, newValue, policy) […]

PDFSharp:用自动换行测量长文本的高度

PDFSharp在绘制长文本部分时支持自动文本换行: textFormatter.DrawString(text, font, XBrushes.Black, new XRect(x, y, textAreaWidth, 1000), XStringFormats.TopLeft); 如果文本长于textAreaWidth这将包装文本。 如何获得刚刚绘制的文本的高度? 我尝试使用gfx.MeasureString() ,但没有支持指定最大宽度的重载。 gfx.MeasureString()返回文本的大小而不进行文本换行。 谢谢你的任何提示。

在C#中从线程更新进度条

public class Consumer { Queue queue; Object lockObject; public Consumer(Queue queue, Object lockObject) { this.queue = queue; this.lockObject = lockObject; } public void consume(string filepath) { int item = 0; while (true) { lock (lockObject) { if (queue.Count == 0) { Monitor.PulseAll(lockObject); continue; } item = queue.Dequeue(); if (item == 0) { break; } //do […]