본문 바로가기

Silverlight3

(15)
ChildWindow 의 Close (X) 버튼 없애기 간단한 팁 입니다. Silverlight 3 에 새롭게 추가 된 ChildWindow 를 쓰다보면, X 버튼을 없애고 싶을 때가 생깁니다. X 버튼이란 ChildWindow 최우측 상단에 있는 컨트롤로, X버튼을 클릭 시 ChildWindow 가 닫히게 되죠. 이런 경우엔 사용자의 입력 (OK or Cancel)에 대한 확인을 할 수 없게 됩니다. 그래서 X 버튼을 없애는 방법을 구현 해 보겠습니다. X 버튼을 없애는 방법은 ChildWindow 가 컨트롤이라는 것을 이용하게 되는 것이죠. 컨트롤이기 때문에 ControlTemplate 를 재정의 해서 X 버튼의 Visible을 Collapsed 로 변경하거나, 아예 삭제하시면 됩니다. 2009/06/16 - [Style] - ControlTemplate..
ChildWindow in Silverlight 3 Silverlight 3 에는 ChildWindow 가 추가 됐습니다. ChildWindow 는 Winform 등의 Dialog창과 비슷한데요. 주로, 새로운 Dialog창을 띄워 사용자의 입력을 확인하거나, 사용자에게 경고 또는 공지를 알리는 창입니다. 우선, ChildWindow 를 사용하기 위해선 Silverlight 3가 설치 되 있어야 합니다. (VS2008 SP1 설치와 VS2008 SP1용 Silverlight 3 개발도구가 설치 되 있어야 합니다.) Silverlight 프로젝트에서 ChildWindow 를 생성하려면 Add New Item 에서 Silverlight Child Window 를 선택 하신 후 ChildWindow를 명명한 뒤 Add 하시면 됩니다. 저는 TestChildWi..
MultiScaleImage의 SubImages 배치변경 Deepzoom에서도 SubImages의 배치를 변경하는 기능을 구현 해 보려고 합니다. Deepzoom 을 원하는 만큼 제어할 수 있도록 하려면 ViewportWidth, ViewportOrigin, AspectRatio, Logical Point, Element Point 에 관한 이해를 먼저 하셔야 합니다. 도움이 되실 지 모르겠지만, 제가 포스팅 했던 글을 참조 해 보시기 바랍니다. 2009/06/10 - [Image/Deepzoom] - Coposition에서의 ViewPort, AspectRatio, 좌표계, ElementalPoint, LogicalPoint 그럼 기능 구현을 해보겠습니다. Deepzoom Composer를 통해 이미지 피라미드를 구성하게 되면, Export 된 폴더에 이미지..
Behavior 만들기 Silverlight 3 에서는 Behavior 를 지원합니다. Behavior란 사전적인 해석에서 알 수 있듯이, 동작을 뜻합니다. 이 동작이란 것은, Dependency Object의 동작이 될 수도 있고, FrameworkElement의 Event에 대한 Trigger가 될 수 있습니다. Behavior를 Silverlight 3 에서 구현하는 방법 입니다. 1. Dependency object 의 Behavior 정의 우선, Dependency object의 Behavior를 정의 하기 위해서는, Program Files > Microsoft Expression > Bledn 3 Preview > Libraries > Silverlight > Microsoft.Expression.Interativ..
Element to Element Binding Silverlight 3 에서는 UIElement에서 다른 UIElment의 Property 값을 Binding 할 수 있는 기능이 추가 됐습니다. (WPF에서는 원래 사용되고 있었다고 합니다.) Element Binding Element Binding은 다음과 같은 구문으로 사용하실 수 있습니다. DependencyProperty = "{Binding Value, ElementName=UIElement명}" Slider의 Value 값을 DependencyProperty에 Binding 하게 됩니다. Silverlight 2에서는 Element의 Property 값을 다른 Element에서 참조하여 사용하고자 할 때, 비하인드 코드에서 Property값을 참조할 수 있도록 처리를 해 줘야 했습니다. 사..
Layout Panel #5 (WrapPanel) WrapPanel은 System.Windows.Controls 어셈블리를 참조 추가하고, 네임스페이스를 참조하기 위한 접두사를 사용하여 쓸 수 있다. (참고 : 2009/06/12 - [Control/Layout Panel] - Layout Panel #4 (DockPanel)) WrapPanel StackPanel과 같이 추가 되는 콘텐트 엘리먼트의 순서에 따라 차곡차곡 배치하는 Layout Panel. WrapPanel과 StackPanel WrapPanel 에 콘텐트 엘리먼트를 추가하면, 추가 된 순서대로 배치 되며, 배치 방향은 Default로 Horizontal이 된다. StackPanel도 WrapPanel과 같은 Horizontal로 배치 해 보면, 다음과 같이, 배치 된다. StackPan..
Layout Panel #4 (DockPanel) DockPanel을 사용하려면, System.Windows.Control 어셈블리 내 컨트롤을 사용하기 위해서는 우선 참조를 추가하고, XAML 상단에 네임스페이스를 참조하기 위한 접두사를 사용해야 한다. xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" DockPanel DockPanel 은 Docking 될 위치를 설정하여, 설정 된 위치에 고정시켜 배치 하는 Layout Panel이다. Docking 될 위치를 지정하는 방법은, 콘텐트 엘리먼트에서 DockPanel의 Attached-Property인 Dock를 사용하면 되고, Dock은 Left, Right, Top, Bottom 네 가지가 ..