본문 바로가기

WPF27

[WPF] Clipboard (클립보드) WPF로 Clipboard 를 사용하여 복사/붙여넣기를 하는 것은 생각보다 매우 간단하다. System.Windows.Clipboard 클래스 를 사용한다. 1) 복사하기 :Clipboard.SetText (string text) , Clipboard.SetImage (BitmapSource image) 함수 사용( 이외에도 SetAudio, SetData, SetDataObject 함수도 존재함) BitmapImage img = new BitmapImage();Clipboard.SetImage(img); 2) 붙여넣기 :Clipboard.GetText(), Clipboard.GetImage(), Clipboard.GetData(), Clipboard.GetDataObject() 등의 함수 사용 Bitm.. 2012. 7. 30.
[WPF] Image Loading (이미지 불러오기) 이미지를 불러올 경우가장 간단한 코드는 다음과 같다. 1)BitmapImage img = new BitmapImage(new Uri(myUri));Image.Source = img; 검색하다보니 이 코드를 포함해서 여러 개의 코드 조각들 간의이미지 로딩 속도를 비교한 결과가 있는 블로그가 있었다.(http://lovehana.com/flyingmt/566?category=8) 위의 블로그에서 가장 속도가 좋다고 나온 코드 조각은 다음과 같다. 2)BitmapImage img = new BitmapImage();img.BeginInit();img.CacheOption = BitmapCacheOption.OnDemand;img.CreateOptions = BitmapCreateOptions.DelayCrea.. 2012. 7. 30.
[WPF] Animated ScrollViewer (스크롤뷰어 애니메이션 적용) 스크롤뷰어를 원하는 지점으로 스크롤시키고자 할 때는ScrollViewer.ScrollToHorizontalOffset(), ScrollToVerticalOffset() 함수를 사용한다. 원하는 지점까지 스르륵 애니메이션을 적용해서 스크롤시키고 싶은데위의 함수는 그런 기능을 지원하지 않고,그렇다면 DoubleAnimation 등의 애니메이션을 사용해야 하는데, ScrollViewer.HorizontalOffset, ScrollViewer.VerticalOffset 2개의 의존속성은 get 만 지원해서 DoubleAnimation 을 적용할 수 없다.따라서 스크롤뷰어에서 스크롤 기능에 애니메이션을 적용하려면 스크롤뷰어를 상속받아 별도의 스크롤뷰어를 만드는 방법밖에 없다. 별도의 스크롤뷰어를 만들어 Horiz.. 2012. 7. 26.
[WPF] Add WPF item entries in VS2010 (VS2010에서 WPF Item 추가하기) Visual Studio 2010을 사용하는 중에, 특정 프로젝트에서 Custom Control(WPF) 를 추가하려고 했으나 리스트에 해당 item 이 나타나지 않았다. 다른 프로젝트에서 아이템을 추가(프로젝트 > 우클릭 - 추가 > 새로운 아이템 > Visual C# items > WPF ) 하면 Window, Page, User Control, Resource Dictionary 등의 8개의 메뉴가 나오는데 해당 프로젝트에서는 아래처럼 User Control 하나만 나왔다. 이유가 혹시 참조를 안했나 해서 확인도 다 해보고, 프로젝트 속성도 검토해보았으나 이유를 찾지 못했는데, 그 해결책은 매우 간단하다. 해당 프로젝트 파일(*.csproj 파일) 을 메모장으로 열어 첫번째 밑에 다음의 코드를 삽입.. 2012. 7. 26.
[WPF] Binding (바인딩) - Converter (컨버터) 바인딩을 하는데 있어, 때로는 연산이 필요한 경우가 있다.예를 들면 바인딩할 때 문자열 뒤에 단위를 붙이고 싶다거나, 또는 bool 값을 Visibility 속성으로(true 일 경우 Visible, false 일 경우 Collapsed 로 각각 변환) 변환하려고 한다던지 할 때 컨버터(Converter)를 사용하면 쉽게 해결할 수 있다. 컨버터는 IValueConverter 를 상속받아 만든다. Convert() 함수와 ConvertBack() 함수를 만들면 되는데, 간단한 예제 코드를 통해 알아보자. 이름에서 알 수 있듯이 Boolean 값을 Visibility 값으로 변경하는 컨버터이다. 변환하고자 하는 로직을 Convert 함수 내부에 구현하고 그 값을 return 해주면 된다. 적용은 다음과 같.. 2012. 7. 24.
[WPF] Dependency Property (의존속성) 의존속성은 기존의 속성을 확장하여 WPF적인 요소를 추가한 속성이라고 할 수 있는데, 1. code-behind, xaml 측에서 모두 접근 가능2. 의존속성이 변경되면 그에 맞게 자동으로 렌더링, 로드 등의 처리의 특징을 갖는다. 기존의 멤버변수와 표현상의 사용법이나 기능은 동일하나 위의 기능을 포함하고 있어 동적으로 변경하는 상황에서 훨씬 강력하고 쉽게 사용할 수 있다.아래의 사진은 모든 컨트롤들의 기본이 되는 FrameworkElement 클래스의 정의 부분이다.흔히 많이 사용하는 ActualWidth, ActualHeight 등의 속성들이 의존속성으로 선언되어 있는 것을 확인할 수 있다.즉 흔히 우리가 사용하는 Width, Height, Background 등의 속성이 사실 다 의존속성이라는 것이.. 2012. 7. 24.
반응형