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

シニア番号 プロパティと説明
1

Header

コントロールのヘッダーのコンテンツを取得または設定します。

2

HeaderProperty

ヘッダー依存関係プロパティを識別します。

3

HeaderTemplate

コントロールのヘッダーのコンテンツを表示するために使用されるDataTemplateを取得または設定します。

4

HeaderTemplateProperty

HeaderTemplate依存関係プロパティを識別します。

5

IntermediateValue

値がティック値またはステップ値にスナップされる前に、ユーザーがスライダーを操作しているときにスライダーの値を取得または設定します。SnapsToプロパティは、スライダーの値を指定します。

6

IntermediateValueProperty

IntermediateValue依存関係プロパティを識別します。

7

IsDirectionReversed

値の増加方向を示す値を取得または設定します。

8

IsDirectionReversedProperty

IsDirectionReversed依存関係プロパティを識別します。

9

IsThumbToolTipEnabled

スライダーのThumbコンポーネントのツールチップにスライダーの値を表示するかどうかを決定する値を取得または設定します。

10

IsThumbToolTipEnabledProperty

IsThumbToolTipEnabled依存関係プロパティを識別します。

11

Orientation

スライダーの方向を取得または設定します。

12

OrientationProperty

Orientation依存関係プロパティを識別します。

13

StepFrequency

ステップを作成する必要がある値の範囲の値の部分を取得または設定します。

14

StepFrequencyProperty

StepFrequency依存関係プロパティを識別します。

15

ThumbToolTipValueConverter

スライダーの範囲値をツールチップコンテンツに変換するコンバーターロジックを取得または設定します。

16

ThumbToolTipValueConverterProperty

ThumbToolTipValueConverter依存関係プロパティを識別します。

17

TickFrequency

ティックを作成する必要がある値の範囲の増分を取得または設定します。

18

TickFrequencyProperty

TickFrequency依存関係プロパティを識別します。

19

TickPlacement

トラックに関連して目盛りを描画する場所を示す値を取得または設定します。

20

TickPlacementProperty

TickPlacement依存関係プロパティを識別します。

以下に一般的に使用されるものを示します eventsSlider クラス。

シニア番号 イベントと説明
1

ManipulationCompleted

UIElementの操作が完了したときに発生します。(UIElementから継承)

2

ManipulationDelta

操作中に入力デバイスの位置が変わったときに発生します。(UIElementから継承)

3

ManipulationInertiaStarting

操作中に入力デバイスがUIElementオブジェクトとの接触を失い、慣性が開始した場合に発生します。(UIElementから継承)

4

ManipulationStarted

入力デバイスがUIElementの操作を開始したときに発生します。(UIElementから継承)

5

ManipulationStarting

操作プロセッサが最初に作成されたときに発生します。(UIElementから継承)

6

ValueChanged

範囲の値が変更されたときに発生します。(RangeBaseから継承)

以下に一般的に使用されるものを示します methods in スライダークラス。

シニア番号 方法と説明
1

OnManipulationCompleted

ManipulationCompletedイベントが発生する前に呼び出されます。(コントロールから継承)

2

OnManipulationDelta

ManipulationDeltaイベントが発生する前に呼び出されます。(コントロールから継承)

3

OnManipulationInertiaStarting

ManipulationInertiaStartingイベントが発生する前に呼び出されます。(コントロールから継承)

4

OnManipulationStarted

ManipulationStartedイベントが発生する前に呼び出されます。(コントロールから継承)

5

OnManipulationStarting

ManipulationStartingイベントが発生する前に呼び出されます。(コントロールから継承)

6

OnMaximumChanged

Maximumプロパティが変更されたときに呼び出されます。(RangeBaseから継承)

7

OnMinimumChanged

最小プロパティが変更されたときに呼び出されます。(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; 
            } 
      } 
   } 
}

上記のコードをコンパイルして実行すると、次の出力が表示されます。ご覧のとおり、スライダーを左から右に動かすと、楕円の幅が広がります。