Silverlight - Inhaltsmodell

Die Schaltflächen bieten eine Form von Inhalten zum Modellinhalt. Modelle tauchen häufig in Steuerelementen auf. Die Idee ist einfach. Es werden alle Inhalte und nicht nur Text akzeptiert. Wenn Sie eine wirklich exotische Schaltfläche erstellen möchten, können Sie sogar andere Inhaltssteuerelemente wie Textfelder und Schaltflächen darin platzieren (und noch Elemente darin verschachteln). Es ist zweifelhaft, ob eine solche Schnittstelle viel Sinn macht, aber es ist möglich.

Schauen wir uns ein einfaches Beispiel mit der Schaltfläche an, innerhalb der Schaltfläche andere Inhaltssteuerelemente.

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

Wenn der obige Code kompiliert und ausgeführt wird, wird die folgende Schaltfläche angezeigt.

RangeControl

Die Steuerelemente für Bildlaufleiste und Schieberegler sind eng miteinander verbunden. Beide ermöglichen es dem Benutzer, einen Eingabewert aus einem bestimmten Bereich auszuwählen. Herkömmlicherweise bedeuten diese Kontrollen verschiedene Dinge. Bildlaufleisten werden normalerweise verwendet, um die Position in einem Skrotalbereich festzulegen, während der Schieberegler zum Festlegen eines Werts oder einer Einstellung verwendet wird. Dies sind nur Konventionen; Die Steuerelemente haben ähnliche Verhaltensweisen und APIs.

Die Bereichssteuerungen sind einfach zu bedienen. Sie geben die Minimal- und Maximalwerte an, um den Wertebereich anzugeben, den der Schieberegler darstellen soll. DasValue Die Eigenschaft variiert, wenn die Verwendung von Schleppern variiert.

Die hierarchische Vererbung von Slider Klasse ist wie folgt -

Nachstehend sind die häufig verwendeten aufgeführt properties von Slider.

Sr. Nr. Objektbeschreibung
1

Header

Ruft den Inhalt für den Header des Steuerelements ab oder legt diesen fest.

2

HeaderProperty

Identifiziert die Header-Abhängigkeitseigenschaft.

3

HeaderTemplate

Ruft die DataTemplate ab oder legt diese fest, mit der der Inhalt des Headers des Steuerelements angezeigt wird.

4

HeaderTemplateProperty

Identifiziert die Abhängigkeitseigenschaft HeaderTemplate.

5

IntermediateValue

Ruft den Wert des Schiebereglers ab oder legt diesen fest, während der Benutzer mit ihm interagiert, bevor der Wert entweder auf den Tick- oder den Schrittwert gesetzt wird. Die SnapsTo-Eigenschaft gibt den Wert des Schiebereglers an.

6

IntermediateValueProperty

Identifiziert die IntermediateValue-Abhängigkeitseigenschaft.

7

IsDirectionReversed

Ruft einen Wert ab oder legt einen Wert fest, der die Richtung des Wertanstiegs angibt.

8

IsDirectionReversedProperty

Identifiziert die Abhängigkeitseigenschaft IsDirectionReversed.

9

IsThumbToolTipEnabled

Ruft einen Wert ab oder legt einen Wert fest, der bestimmt, ob der Schiebereglerwert in einem Tooltip für die Thumb-Komponente des Schiebereglers angezeigt wird.

10

IsThumbToolTipEnabledProperty

Identifiziert die Abhängigkeitseigenschaft IsThumbToolTipEnabled.

11

Orientation

Ruft die Ausrichtung eines Schiebereglers ab oder legt diese fest.

12

OrientationProperty

Identifiziert die Orientierungseigenschaftseigenschaft.

13

StepFrequency

Ruft den Werteteil eines Wertebereichs ab, für den Schritte erstellt werden sollen, oder legt diesen fest.

14

StepFrequencyProperty

Identifiziert die StepFrequency-Abhängigkeitseigenschaft.

15

ThumbToolTipValueConverter

Ruft die Konverterlogik ab oder legt diese fest, mit der der Bereichswert des Schiebereglers in Inhalt der QuickInfos konvertiert wird.

16

ThumbToolTipValueConverterProperty

Identifiziert die Abhängigkeitseigenschaft ThumbToolTipValueConverter.

17

TickFrequency

Ruft das Inkrement des Wertebereichs ab, für den Ticks erstellt werden sollen, oder legt dieses fest.

18

TickFrequencyProperty

Identifiziert die TickFrequency-Abhängigkeitseigenschaft.

19

TickPlacement

Ruft einen Wert ab oder legt einen Wert fest, der angibt, wo Häkchen in Bezug auf die Spur gezeichnet werden sollen.

20

TickPlacementProperty

Identifiziert die TickPlacement-Abhängigkeitseigenschaft.

Nachstehend sind die häufig verwendeten aufgeführt events im Slider Klasse.

Sr. Nr. Eventbeschreibung
1

ManipulationCompleted

Tritt auf, wenn eine Manipulation am UIElement abgeschlossen ist. (Von UIElement geerbt)

2

ManipulationDelta

Tritt auf, wenn das Eingabegerät während einer Manipulation seine Position ändert. (Von UIElement geerbt)

3

ManipulationInertiaStarting

Tritt auf, wenn das Eingabegerät während einer Manipulation den Kontakt zum UIElement-Objekt verliert und die Trägheit beginnt. (Von UIElement geerbt)

4

ManipulationStarted

Tritt auf, wenn ein Eingabegerät eine Manipulation am UIElement beginnt. (Von UIElement geerbt)

5

ManipulationStarting

Tritt auf, wenn der Manipulationsprozessor zum ersten Mal erstellt wird. (Von UIElement geerbt)

6

ValueChanged

Tritt auf, wenn sich der Bereichswert ändert. (Von RangeBase geerbt)

Nachstehend sind die häufig verwendeten aufgeführt methods in Slider-Klasse.

Sr. Nr. Methode & Beschreibung
1

OnManipulationCompleted

Wird aufgerufen, bevor das ManipulationCompleted-Ereignis auftritt. (Von der Kontrolle geerbt)

2

OnManipulationDelta

Wird aufgerufen, bevor das ManipulationDelta-Ereignis auftritt. (Von der Kontrolle geerbt)

3

OnManipulationInertiaStarting

Wird aufgerufen, bevor das ManipulationInertiaStarting-Ereignis auftritt. (Von der Kontrolle geerbt)

4

OnManipulationStarted

Wird aufgerufen, bevor das ManipulationStarted-Ereignis auftritt. (Von der Kontrolle geerbt)

5

OnManipulationStarting

Wird aufgerufen, bevor das ManipulationStarting-Ereignis auftritt. (Von der Kontrolle geerbt)

6

OnMaximumChanged

Wird aufgerufen, wenn sich die Maximum-Eigenschaft ändert. (Von RangeBase geerbt)

7

OnMinimumChanged

Wird aufgerufen, wenn sich die Minimum-Eigenschaft ändert. (Von RangeBase geerbt)

8

OnValueChanged

Löst das geroutete ValueChanged-Ereignis aus. (Von RangeBase geerbt)

9

SetBinding

Hängt eine Bindung an ein FrameworkElement unter Verwendung des bereitgestellten Bindungsobjekts an. (Von FrameworkElement geerbt)

10

SetValue

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest. (Von DependencyObject geerbt)

Beispiel

Schauen wir uns ein einfaches Beispiel an, in dem ein Schieberegler und eine Ellipse hinzugefügt werden und der Schieberegler die Breite der Ellipse steuert.

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

Unten ist die angegeben value changed event Implementierung ist 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; 
            } 
      } 
   } 
}

Wenn der obige Code kompiliert und ausgeführt wird, wird die folgende Ausgabe angezeigt. Wie Sie sehen können, erhöht sich die Ellipsenbreite, wenn Sie den Schieberegler von links nach rechts bewegen.