Silverlight-content-model

提供:Dev Guides
移動先:案内検索

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 で一般的に使用される properties を示します。

Sliderの最も一般的に使用されるプロパティを以下に示します。

Sr. No. Property & Description
1

Header

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

2

HeaderProperty

Header依存プロパティを識別します。

3

HeaderTemplate

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

4

HeaderTemplateProperty

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

5

IntermediateValue

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

6

IntermediateValueProperty

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

7

IsDirectionReversed

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

8

IsDirectionReversedProperty

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

9

IsThumbToolTipEnabled

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

10

IsThumbToolTipEnabledProperty

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

11

Orientation

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

12

OrientationProperty

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

13

StepFrequency

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

14

StepFrequencyProperty

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

15

ThumbToolTipValueConverter

Sliderの範囲値をツールヒントコンテンツに変換するコンバーターロジックを取得または設定します。

16

ThumbToolTipValueConverterProperty

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

17

TickFrequency

目盛りを作成する値の範囲の増分を取得または設定します。

18

TickFrequencyProperty

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

19

TickPlacement

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

20

TickPlacementProperty

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

以下は、 Slider クラスで一般的に使用される events です。

Sliderで最も一般的に使用されるイベントを以下に示します。

Sr. No. Event & Description
1

ManipulationCompleted

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

2

ManipulationDelta

入力デバイスが操作中に位置を変更すると発生します。 (UIElementから継承)

3

ManipulationInertiaStarting

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

4

ManipulationStarted

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

5

ManipulationStarting

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

6

ValueChanged

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

以下は、スライダークラスで一般的に使用される*メソッドです。

Sliderで最も一般的に使用される方法を以下に示します。

Sr. No. Method & Description
1

OnManipulationCompleted

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

2

OnManipulationDelta

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

3

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>

以下に示すのは、C#の value changed event 実装です。

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;
            }
      }
   }
}

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

スライダーと楕円を追加