小编Dev*_*per的帖子

使用AForge.Net在WPF应用程序上实现WebCam

我正在写一个WPF应用程序,我需要显示一个Webcam feed.我能够使用AForge框架轻松完成这项工作.但是当我从计算机更改为另一台计算机时,相同的代码不能以相同的方式工作.

在第一个网络摄像头提供完美的工作,但在另一个,这不会发生,饲料有很多延迟,应用程序无法正常工作.

这是代码:

    private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
    {
        Bitmap img = (Bitmap)eventArgs.Frame.Clone();

        this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Render, (SendOrPostCallback)delegate
            {
                IntPtr hBitmap = img.GetHbitmap();
                System.Windows.Media.Imaging.BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                    hBitmap,
                    IntPtr.Zero,
                    Int32Rect.Empty,
                    System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());

                DeleteObject(hBitmap);

                img.Dispose();
                GC.Collect();
                image1.Source = bitmapSource;

            }, null);

    }
Run Code Online (Sandbox Code Playgroud)

这段代码非常简单,它以一种形式从网络摄像头获取一个new_frame Bitmap,我需要做的是将它转换为一个BitmapSource,所以我可以在WPF的图像框架中显示.我认为这种转换是造成这种混乱的原因,但我不明白为什么它在计算机中起作用而在另一种情况下却不起作用.

计算机规格几乎相同,处理器是相同的,以及系统内存.

我的问题是关于性能,这个代码在一台计算机上运行顺畅,网络摄像头提供应该呈现,当我将它移植到另一台PC时,这不会发生.

wpf webcam aforge

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

如何从模态窗口调用主WPF窗口的方法?

如何从模态窗口调用主WPF窗口的方法?

(事实上​​,当我关闭一些模型窗口时,我想启动MainWindow.xaml.cs的一些计时器.)

谢谢!

c# wpf

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

奇怪的MultiBinding StringFormat问题

我有这个XAML

<MultiBinding  StringFormat=" {0}{1}/{2}">
   <Binding Path="Text" ElementName="tbxAuthHost" />
   <Binding Path="Text" ElementName="tbxAuthWebsiteName" />
   <Binding Path="Text" ElementName="tbxAuthServicesAddress" />
</MultiBinding>
Run Code Online (Sandbox Code Playgroud)

当我尝试将"{0} {1}/{2}"更改为"{0} {1}/{2}",因此没有前导空格,然后Visual Studio会出现此错误:

错误3在MarkupExtension表达式的结束'}'之后,不允许使用文本"{1}/{2}".第116行位置56.

我该如何解决这个问题?

在此输入图像描述

wpf xaml

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

如何处理WPF WebBrowser控件导航异常

假设WPF WebBrowser control显示一些导航错误并且页面未显示.

所以有一个例外WPF WebBrowser control.

我在这里发现了一些类似的问题,但这不是我需要的.

事实上,我需要一些方法和对象,有一个例外,以获得它如何.

我们如何处理它?

谢谢!

PS WinForm WebBrowser控件有一些方法......我们可以做类似的WPF WebBrowser控制吗?

public Form13()
{
     InitializeComponent();

     this.webBrowser1.Navigate("http://blablablabla.bla");

      SHDocVw.WebBrowser axBrowser = (SHDocVw.WebBrowser)this.webBrowser1.ActiveXInstance;
      axBrowser.NavigateError +=
           new SHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(axBrowser_NavigateError);
}

void axBrowser_NavigateError(object pDisp, ref object URL,
       ref object Frame, ref object StatusCode, ref bool Cancel)
{
     if (StatusCode.ToString() == "404")
     {
         MessageBox.Show("Page no found");
     }
}
Run Code Online (Sandbox Code Playgroud)

PS#2在WPF App下托管WinForm WebBrowser控件不是我认为的答案.

.net c# wpf

9
推荐指数
2
解决办法
7301
查看次数

$(document).ready在MVC4项目下不起作用

我只是插入

$(document).ready(function () {
    alert("!!!");
});
Run Code Online (Sandbox Code Playgroud)

通常进入

@{
    ViewBag.Title = "Sign Up";
    Layout = "~/Views/Shared/_WebSite.cshtml";
}

<script type="text/JavaScript">

    $(document).ready(function () {
        alert("!!!");
    });

</script>

<h2>Sign Up</h2>

@using (Html.BeginForm())
{
    @Html.ValidationSummary()
{

}

}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
Run Code Online (Sandbox Code Playgroud)

但我看不到alert()消息......

jQuery的其他东西在这个页面正常工作......

我缺少什么?

任何线索?

谢谢!

.net jquery asp.net-mvc-4

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

如何将模型值添加到html属性值

我有这个代码

@if (ViewBag.TechnologyNames != null)
          {
              foreach (var technologyName in ViewBag.TechnologyNames)
              {
                  if (@technologyName.TechnologyID == -1)
                  {
            <div class="CheckBoxItem">
                <input type="checkbox" name="option1" id="allTechnology" value="@technologyName.TechnologyID" checked="checked" />
                @technologyName.Name
            </div>
                }
                else
                {
                 <input type="checkbox" name="option2" id="tech"  value="@technologyName.TechnologyID" />
                @technologyName.Name
                }
              }
          }
Run Code Online (Sandbox Code Playgroud)

我需要的是以某种方式添加@technologyName.TechnologyIDid="tech"最后

id="tech_123" 
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

谢谢!

asp.net-mvc asp.net-mvc-3

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

任务结果上的事件已完成

可能重复:
如何创建运行STA线程的任务(TPL)?

我正在使用以下代码:

var task = Task.Factory.StartNew<List<NewTwitterStatus>>(
        () => GetTweets(securityKeys),  
        TaskCreationOptions.LongRunning);

Dispatcher.BeginInvoke(DispatcherPriority.Background,
    new Action(() =>
    {
        var result = task.Result; // ERROR!!! The calling thread cannot access this object because a different thread owns it.
        RecentTweetList.ItemsSource = result;
        Visibility = result.Any() ? Visibility.Visible : Visibility.Hidden;
    }));
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

var result = task.Result; // ERROR!!! The calling thread cannot access this object because a different thread owns it.
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

.net c# wpf task-parallel-library

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

ActiveX VLC播放器事件无法正常工作

我已将ActiveX VLC pligin合并到WPF应用程序中.VLC插件工作正常.

AxVLCPlugin   vlc = new AxVLCPlugin();
vlc.MediaPlayerEncounteredError += vlc_MediaPlayerEncounteredError;
vlc.MediaPlayerOpening += vlc_MediaPlayerOpening;
vlc.MediaPlayerBuffering += vlc_MediaPlayerBuffering;
vlc.MediaPlayerEndReached += vlc_MediaPlayerEndReached;
 //
// Other code 
// like    windowsFormsHost1.Child = vlc; and etc
vlc.addTarget(videoURL, null, AXVLC.VLCPlaylistMode.VLCPlayListReplace, 1);
vlc.play();
Run Code Online (Sandbox Code Playgroud)

但有些VLC的所有事件根本不起作用.

我的意思是这些事件:

vlc.MediaPlayerEncounteredError += vlc_MediaPlayerEncounteredError;
vlc.MediaPlayerOpening += vlc_MediaPlayerOpening;
vlc.MediaPlayerBuffering += vlc_MediaPlayerBuffering;
vlc.MediaPlayerEndReached += vlc_MediaPlayerEndReached;

 void vlc_MediaPlayerEndReached(object sender, EventArgs e)
        {
            Debug.WriteLine("[P] - StreamingVideo -  END REACHED + " + DateTime.Now);
        }

        void vlc_MediaPlayerBuffering(object sender, DVLCEvents_MediaPlayerBufferingEvent e)
        {
            Debug.WriteLine("[P] - StreamingVideo - …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf activex vlc

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

如何验证ASPF WebAPI 2的WPF客户端请求

我刚刚创建了一个ASP .NET MVC 5 Web API项目,并添加了实体框架模型和其他东西,以使其与ASP一起使用.NET身份.

在此输入图像描述

现在,我需要从WPF客户端应用程序创建对该API的标准方法的简单认证请求.

ASP .NET MVC 5 Web API代码

[Authorize]
[RoutePrefix("api/Account")]
public class AccountController : ApiController

        // GET api/Account/UserInfo
        [HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
        [Route("UserInfo")]
        public UserInfoViewModel GetUserInfo()
        {
            ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);

            return new UserInfoViewModel
            {
                UserName = User.Identity.GetUserName(),
                HasRegistered = externalLogin == null,
                LoginProvider = externalLogin != null ? externalLogin.LoginProvider : null
            };
        }
Run Code Online (Sandbox Code Playgroud)

WPF客户端代码

public partial class MainWindow : Window
{
    HttpClient client = new HttpClient();

    public MainWindow() …
Run Code Online (Sandbox Code Playgroud)

c# wpf asp.net-web-api dotnet-httpclient asp.net-mvc-5

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

如何在点击浏览器后退按钮时刷新ASP .NET MVC页面

我刚刚发现,当我点击任何ASP .NET MVC页面上的浏览器后退按钮时,没有任何反应,页面也不会被更新.只有当您单击F5时,它才会更新.

主要问题是我对页面的DOM进行了一些更改,即添加表行选择单选按钮等,当我通过点击浏览器返回按钮返回页面时,我看到没有变化.

如何解决ASP .NET MVC 5?

感谢任何线索......

PS我已经阅读http://forums.asp.net/t/1304752.aspx?how+to+refresh+page+when+hitting+back+button但它没有帮助......

.net javascript browser page-refresh asp.net-mvc-5

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