none
wpf를 처음접하는 초보인데 조언좀 부탁드립니다. RRS feed

  • 질문

  • ip카메라에서 영상을 따다가 view를 보여줘야합니다.

    class Screen : System.Windows.Forms.Integration.WindowsFormsHost,userObject{

    }라는 클래스를 정의했고 아래와 같은 식으로 영상을 받아오고있습니다.

    이걸 동적으로 화면에 추가해줘야하는데 리스트뷰나 리스트박스에 Panel을 ItemTemplete로 설정해 Panel 자식으로 Screen을 넣어주면 화면에 안보이더라고요 .. 이럴떄는 어떤식으로 구조를 잡아줘야할까요 ?

    감사합니다. 즐거운하루되십쇼

                                                

       public bool startStreaming()
            {
                if (String.IsNullOrEmpty(videoStreamAddress)) return false;

                try
                {
                    MJPEGStream mjpegSource = new MJPEGStream(videoStreamAddress);

                    if (player == null) player = new VideoSourcePlayer();

                    this.Child = player;

                    player.VideoSource = mjpegSource;//화면에 그릴 소스 매칭
                    player.Start(); //시작
                }catch(Exception e)
                {
                    Action yes = () =>
                     {
                         Util.instance.Log(e.ToString());
                     };

                    Util.instance.messageBox("스트리밍 실패", "로그 기록하시겠습니까?", yes,null);

                }
                return true;
            }


    2016년 12월 26일 월요일 오후 1:28

답변

  • 메인 폼에 동적으로 생성한 차일드를 붙여줘야 할것 같습니다.

    mainform.Children.Add("new video control");

    아래 정보가 도움이 되길 바랍니다.

    https://msdn.microsoft.com/ko-kr/library/system.windows.forms.integration.windowsformshost.child(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

    http://stackoverflow.com/questions/20350465/adding-child-controls-in-stackpanel-wpf-c-sharp

    http://m.blog.naver.com/hamstery/110089525484

    https://www.codeproject.com/Articles/15537/Camera-Vision-video-surveillance-on-C

    만약 thread모델을 이용하여 각각의 control에 대해 접근 하시려고 한다면

    http://stackoverflow.com/questions/142003/cross-thread-operation-not-valid-control-accessed-from-a-thread-other-than-the

    2016년 12월 28일 수요일 오전 1:07