테스트 해볼 것이 있어서 플래시를 만들고 별생각없이 일반적인 바인딩 방식인 블럭을 이용하여 바인딩을 하였습니다. 이렇게 놓고 돌려 보았습니다. 으잌!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 그렇습니다. 파라메타로 보낼때 바인딩을 하려면 주의 사항이 있는데 '' 대신 ''를 사용해야 합니다. 이렇게 놓고 돌려 보았습니다. 잘나온다!! 생각해보니 이 현상이 실버라이트 붙일때도 있었습니다. (그때 정리를 해놨어야 하는데-_-;;;;) 정확한건 모르겠는데 태그안에서 바인딩을 할때는 '' 가 아닌 ''를 사용해야 합니다. (찾아봐도 딱히 이유가 나오질 않네요-_-a)
OOB(Out Of Browser) 1. OOB(Out Of Browser)를 사용해 보자 2. OOB(Out Of Browser)에서 인스톨 인터페이스를 보여주기 이전 글에서 OOB를 이용하면 데스크탑에서 실버라이트 응용프로그램을 사용할수 있다고 하였습니다. 그런데 생각해보면 OOB를 설치하기위해서는 오른쪽 클릭후 인스톨....으잌? 이런식으로 말이죠. 이 방법은 당연이 사용자 경험(UX)의 계념에서 보자면 최악입니다. 숨겨진 메뉴에다가 어떻게 설치해야하는지 알려주지도 안으며 클릭도 2번이나 하죠. 어찌됬건 인스톨인터페이스를 노출시켜 프로그램설치를 안내해봅시다. 버튼2개를 만들어서 인스톨이 안되있는경우 인스톨 버튼을 보여주고 인스톨이 안되있는 경우 일반버튼을 보여주겠습니다. 1.인스톨이 되어있는지 판별..
OOB(Out Of Browser) 1. OOB(Out Of Browser)를 사용해 보자 2. OOB(Out Of Browser)에서 인스톨 인터페이스를 보여주기 실버라이트로 데스크탑 응용프로그램을 만들수 없을까? 실버라이트로 로컬에 있는 파일들을 컨트롤 할수 없을까? 이런 질문의 답은 OOB(Out Of Browser)입니다. WPF가 있는데 구지 실버라이트를 데스크탑에서 돌려야 하냐?라는 물음이라면 던저버리세요. 으외로 닷넷프래임웍의 설치에 문제가 많습니다 ㅡ.-; 특히 비스타 이전버전들이 문제가 많은데 XP는 여전이 사용자가 많다는 문제가-_-; 여튼 WPF를 돌리기 위해선 닷넷 프레임웍을 설치해야 하지만 OOB는 실버라이트 플러그인만 설치되있으면 동작합니다. 그외에도 인터넷에 연결만 되있으면(...
애니메이션의 반복 옵션을 주려면 스토리보드에 'RepeatBehavior'속성을 주면 됩니다. Storyboard m_sbReturn = new Storyboard(); this.m_sbReturn.RepeatBehavior = RepeatBehavior.Forever; 참 쉽조잉? 이렇게 옵션을 'RepeatBehavior.Forever'으로 주면 무한 반복 합니다. 멈추려면 '.Stop()'을 호출하면 됩니다.
가속 감속 넣기는 참 쉽습니다. 문제는 애니메이션을 구성할때 어떻게 구성했냐에 따라 다르죠. 이전글 - [WPF/Silverlight] 오브젝트 애니메이션 이전글을과 같이 'DoubleAnimationUsingKeyFrames'로 구현한경우 키프레임 구성에 사용한 'EasingDoubleKeyFrame'을 사용하여 가속/감속을 지정하여야 합니다. 가속/감속을 지정할때 사용하는 속성은 'EasingFunction'입니다. 이게 있어야 지정이 가능하죠. //DoubleAnimationUsingKeyFrames kf = new EasingDoubleKeyFrame(); kf.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animat..
텍스트 박스, 버튼, 유저컨트롤 등이 뒤섞여있는데 모두 같은 애니메이션을 주려면? 이럴때 보통 오브젝트(object)로 선언하여 관리하면 되지만 오브젝트 형태는 애니메이션을 줄수가 없습니다. 오브젝트는 스토리 보드에 추가 할수 없다는 에러입니다. 이럴 때는 오브젝트를 'FrameworkElement' 형태로 바꿔주면 됩니다. 에러가 사라 젔습니다. 그렇기 때문에 애니메이션을 통으로 관리 할때는 'FrameworkElement'로 해야 하는 것이지요. 초간단 천체 소스
그냥은 안되고 외부 라이브러리를 사용해야 합니다. FluxJpeg라는 라이브러리인데 비트맵을 JPG로 변환할때 사용합니다. 클래스로 사용하는 전체 코드이니 귀찬으면 그냥 복사해서 써도 됩니다. using System.Windows.Media.Imaging; using System.IO; public class claExportImg { Canvas m_layoutScreen = null; public claExportImg() { } public void OnCapture(Canvas layoutScreen) { //사용할 레이아웃 지정 this.m_layoutScreen = layoutScreen; WriteableBitmap wb = new WriteableBitmap(this.m_layoutScre..
다른글에서 닷넷은 다중상속이 안되니 조부모 상속을 이용하라고 하였습니다. ( 참고 : [.Net] 다중상속이 안된다면 할아버지 상속이다!! - 여러개의 베이스를 상속받기 ) 그런데 WPF나 실버라이트의 경우 컨트롤의 조부모 상속을 해보면 에러가 납니다. 'HumanLevel.TabHead.ucTest'의 partial 선언에는 서로 다른 기본 클래스를 지정할 수 없습니다. 완전 수수께끼 같은 오류메시지 입니다-_-; 이 오류는 .xmal과 .cs파일간에 같은 다른 상속을 받기 때문에 발생하는 오류입니다. 위 자물파일을 확인해보면 컨트롤이 UserControl로 선언 되있음을 알수 있습니다. 이 부분이 베이스랑 일치해야 합니다. 그러면 UserControl를 교체해봅시다. 1. The tag 'baseTa..
이런 간단한 것들은 따로 모아서 한 포스트로 밀어 넣을까 했는데... 그래도 자주 쓰는 것이니 따로 따로 넣는게 좋은듯 하여 가볍게 즐기는 실버라이트 타임~ 실버라이트에서 새창을 띄워 웹페이지를 열수 있는 방법은 몇가지가 있습니다. 그중 가볍게 쓸수 있는 것이 Navigate를 이용하는 방법이죠. 먼저 유징을 해주시고 using System.Windows.Browser; 아래와 같이 사용합니다. HtmlPage.Window.Navigate(new Uri("http://Blog.DangGun.net"), "_blank"); 이렇게 하면 새창이 띄워 집니다. 이렇게 쉽게 새창을 띄울수 있습니다.
보통은 이미 다른 자식이라고 뜨는데 어떤경우에는 값이 범위를 벗어났다고 뜹니다. 차일드로 지정한녀석을 다시 지정하려고 할때 나는 오류인데 말이죠-_-; 보통 이렇게 뜨는게 맞습니다. 그런데 이렇게 뜨죠. 원인은 "이미 다른자식입니다"와 같습니다. 그렇기 때문에 이미 다른곳에 소속인 객체를 해당 소속에서 지워 주면됩니다. //컨트롤 배열 생성 this.btnTest = new Button[10]; //컨트롤 초기화 for (int i = 0; i < 10; ++i) { this.btnTest[i] = new Button(); } this.btnTemp = this.btnTest[0]; this.gridTemp1.Children.Add(this.btnTemp); this.gridTemp2.Children.A..