Silverlight-콘텐츠 모델

버튼은 모델 콘텐츠에 콘텐츠 형식을 제공합니다. 모델은 컨트롤에서 많이 나타납니다. 아이디어는 간단합니다. 텍스트뿐만 아니라 모든 콘텐츠를 허용합니다. 진정으로 이국적인 버튼을 만들고 싶다면 텍스트 상자 및 버튼과 같은 다른 콘텐츠 컨트롤을 내부에 배치 할 수도 있습니다 (그리고 내부에 스틸 요소를 중첩). 그러한 인터페이스가 의미가 있을지 의심 스럽지만 가능합니다.

버튼이있는 간단한 예제, 버튼 내부의 다른 콘텐츠 컨트롤을 살펴 보겠습니다.

<UserControl x:Class = "ContentModel.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
	
      <Button Margin = "3" Height = "70" Width = "215"> 
         <Grid Margin = "5"> 
            <Polygon Points = "100,25 125,0 200,25 125,50" Fill = "LightSteelBlue" /> 
            <Polygon Points = "100,25 75,0 0,25 75,50" Fill = "LightGray"/> 
         </Grid> 
      </Button> 
		
   </Grid> 
	
</UserControl>

위의 코드가 컴파일되고 실행되면 다음 버튼이 표시됩니다.

RangeControl

스크롤바와 슬라이더 컨트롤은 밀접하게 관련되어 있습니다. 둘 다 사용자가 특정 범위에서 입력 값을 선택할 수 있습니다. 일반적으로 이러한 컨트롤은 다른 것을 의미합니다. 스크롤바는 일반적으로 음낭 영역으로 위치를 설정하는 데 사용되는 반면 슬라이더는 일부 값이나 설정을 지정하는 데 사용됩니다. 이것은 단지 관례 일뿐입니다. 컨트롤에는 유사한 동작과 API가 있습니다.

범위 컨트롤은 사용이 간단합니다. 최소값과 최대 값을 지정하여 슬라이더가 나타낼 값의 범위를 나타냅니다. 그만큼Value 속성은 드래그 사용에 따라 달라집니다.

계층 적 상속 Slider 클래스는 다음과 같습니다-

다음은 일반적으로 사용되는 propertiesSlider.

Sr. No. 속성 및 설명
1

Header

컨트롤의 헤더에 대한 콘텐츠를 가져 오거나 설정합니다.

2

HeaderProperty

Header 종속성 속성을 식별합니다.

HeaderTemplate

컨트롤 헤더의 콘텐츠를 표시하는 데 사용되는 DataTemplate을 가져 오거나 설정합니다 .Gets or sets the DataTemplate used to display the content of the control 's header.

4

HeaderTemplateProperty

HeaderTemplate 종속성 속성을 식별합니다.

5

IntermediateValue

값이 눈금 또는 단계 값에 스냅되기 전에 사용자가 상호 작용하는 동안 Slider의 값을 가져 오거나 설정합니다 .Gets or sets the value of the Slider while the user is interacting with it, before the value is snapped to either the tick or step value. SnapsTo 속성은 슬라이더 값을 지정합니다.

6

IntermediateValueProperty

IntermediateValue 종속성 속성을 식별합니다.

7

IsDirectionReversed

값이 증가하는 방향을 나타내는 값을 가져 오거나 설정합니다.

8

IsDirectionReversedProperty

IsDirectionReversed 종속성 속성을 식별합니다.

9

IsThumbToolTipEnabled

Slider의 Thumb 구성 요소에 대한 도구 설명에 슬라이더 값이 표시되는지 여부를 결정하는 값을 가져 오거나 설정합니다.

10

IsThumbToolTipEnabledProperty

IsThumbToolTipEnabled 종속성 속성을 식별합니다.

11

Orientation

Slider의 방향을 가져 오거나 설정합니다.

12

OrientationProperty

Orientation 종속성 속성을 식별합니다.

13

StepFrequency

단계를 만들어야하는 값 범위의 값 부분을 가져 오거나 설정합니다 .Gets or sets the value part of a value range that steps should be created for.

14

StepFrequencyProperty

StepFrequency 종속성 속성을 식별합니다.

15

ThumbToolTipValueConverter

Slider의 범위 값을 도구 설명 콘텐츠로 변환하는 변환기 논리를 가져 오거나 설정합니다.

16

ThumbToolTipValueConverterProperty

ThumbToolTipValueConverter 종속성 속성을 식별합니다.

17

TickFrequency

눈금을 만들어야하는 값 범위의 증분을 가져 오거나 설정합니다 .Gets or sets the increment of the value range that ticks should be created for.

18

TickFrequencyProperty

TickFrequency 종속성 속성을 식별합니다.

19

TickPlacement

트랙과 관련하여 눈금 표시를 그릴 위치를 나타내는 값을 가져 오거나 설정합니다.

20

TickPlacementProperty

TickPlacement 종속성 속성을 식별합니다.

다음은 일반적으로 사용되는 eventsSlider 수업.

Sr. No. 이벤트 및 설명
1

ManipulationCompleted

UIElement에 대한 조작이 완료되면 발생합니다. (UIElement에서 상 속됨)

2

ManipulationDelta

조작 중에 입력 장치가 위치를 변경하면 발생합니다. (UIElement에서 상 속됨)

ManipulationInertiaStarting

입력 장치가 조작 중에 UIElement 개체와의 연결이 끊어지고 관성이 시작되면 발생합니다. (UIElement에서 상 속됨)

4

ManipulationStarted

입력 장치가 UIElement에서 조작을 시작할 때 발생합니다. (UIElement에서 상 속됨)

5

ManipulationStarting

조작 프로세서가 처음 생성 될 때 발생합니다. (UIElement에서 상 속됨)

6

ValueChanged

범위 값이 변경되면 발생합니다. (RangeBase에서 상 속됨)

다음은 일반적으로 사용되는 methods in 슬라이더 클래스.

Sr. No. 방법 및 설명
1

OnManipulationCompleted

ManipulationCompleted 이벤트가 발생하기 전에 호출됩니다. (Control에서 상 속됨)

2

OnManipulationDelta

ManipulationDelta 이벤트가 발생하기 전에 호출됩니다. (Control에서 상 속됨)

OnManipulationInertiaStarting

ManipulationInertiaStarting 이벤트가 발생하기 전에 호출됩니다. (Control에서 상 속됨)

4

OnManipulationStarted

ManipulationStarted 이벤트가 발생하기 전에 호출됩니다. (Control에서 상 속됨)

5

OnManipulationStarting

ManipulationStarting 이벤트가 발생하기 전에 호출됩니다. (Control에서 상 속됨)

6

OnMaximumChanged

Maximum 속성이 변경 될 때 호출됩니다. (RangeBase에서 상 속됨)

7

OnMinimumChanged

Minimum 속성이 변경 될 때 호출됩니다. (RangeBase에서 상 속됨)

8

OnValueChanged

ValueChanged 라우트 된 이벤트를 발생시킵니다. (RangeBase에서 상 속됨)

9

SetBinding

제공된 바인딩 개체를 사용하여 FrameworkElement에 바인딩을 연결합니다. (FrameworkElement에서 상 속됨)

10

SetValue

DependencyObject에 대한 종속성 속성의 로컬 값을 설정합니다. (DependencyObject에서 상 속됨)

슬라이더와 타원이 추가되고 슬라이더가 타원의 너비를 제어하는 ​​간단한 예를 살펴 보겠습니다.

<UserControl x:Class = "SliderExample.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "
   http://schemas.openxmlformats.org/markup-compatibility/2006"  
   mc:Ignorable = "d" d:DesignWidth = "640" d:DesignHeight = "480"> 
   
   <Grid x:Name = "LayoutRoot">
	
      <Grid.RowDefinitions> 
         <RowDefinition Height = "Auto" /> 
         <RowDefinition /> 
      </Grid.RowDefinitions>  
		
      <Slider Minimum = "1" Maximum = "400" Value = "1" 
         ValueChanged = "Slider_ValueChanged" />  
			
      <Ellipse Grid.Row = "1" Fill = "Aqua" Width = "1" x:Name = "myEllipse" /> 
		
   </Grid> 
	
</UserControl>

아래에 주어진 것은 value changed event 구현은 C #입니다.

using System.Windows; 
using System.Windows.Controls; 
 
namespace SliderExample { 

   public partial class MainPage : UserControl { 
	
      public MainPage() { 
         InitializeComponent(); 
      }
	  
      private void Slider_ValueChanged(object sender, 
         RoutedPropertyChangedEventArgs<double> e) { 
			
            if (myEllipse != null) { 
               myEllipse.Width = e.NewValue; 
            } 
      } 
   } 
}

위의 코드가 컴파일되고 실행되면 다음과 같은 출력이 표시됩니다. 보시다시피 슬라이더를 왼쪽에서 오른쪽으로 이동하면 타원 너비가 증가합니다.