Silverlight - Model Konten
Tombol-tombol tersebut menawarkan bentuk konten ke konten model. Model banyak muncul di kontrol. Idenya sederhana. Ini akan menerima konten apa pun dan bukan hanya teks. Jika Anda ingin membuat tombol yang benar-benar eksotis, Anda bahkan dapat menempatkan kontrol konten lain seperti kotak teks dan tombol di dalamnya (dan menyarangkan elemen diam di dalamnya). Diragukan bahwa antarmuka seperti itu akan masuk akal, tetapi itu mungkin.
Mari kita lihat contoh sederhana dengan tombol, tombol di dalam kontrol konten lainnya.
<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>
Ketika kode di atas dikompilasi dan dijalankan, Anda akan melihat tombol berikut.
RangeControl
Kontrol scrollbar dan slider sangat erat kaitannya. Keduanya memungkinkan pengguna untuk memilih nilai masukan dari rentang tertentu. Biasanya, kontrol ini menandakan hal-hal yang berbeda. Scrollbar biasanya digunakan untuk mengatur posisi menjadi area skrotum sedangkan, slider digunakan untuk menentukan beberapa nilai atau pengaturan. Ini hanya konvensi; kontrolnya memiliki perilaku dan API yang serupa.
Kontrol rentang mudah digunakan. Anda menentukan nilai minimum dan maksimum untuk menunjukkan kisaran nilai yang Anda ingin wakili oleh slider. ItuValue properti akan bervariasi karena penggunaan tarik bervariasi.
Warisan hierarkis Slider kelas adalah sebagai berikut -
Diberikan di bawah ini adalah yang biasa digunakan properties dari Slider.
No Sr | Deskripsi properti |
---|---|
1 | Header Mendapat atau menyetel konten untuk header kontrol. |
2 | HeaderProperty Mengidentifikasi properti ketergantungan Header. |
3 | HeaderTemplate Mendapat atau menyetel DataTemplate yang digunakan untuk menampilkan konten header kontrol. |
4 | HeaderTemplateProperty Mengidentifikasi properti ketergantungan HeaderTemplate. |
5 | IntermediateValue Mendapat atau menyetel nilai Slider saat pengguna berinteraksi dengannya, sebelum nilai tersebut dimasukkan ke nilai centang atau langkah. Properti SnapsTo menentukan nilai slider. |
6 | IntermediateValueProperty Mengidentifikasi properti ketergantungan IntermediateValue. |
7 | IsDirectionReversed Mendapat atau menetapkan nilai yang menunjukkan arah peningkatan nilai. |
8 | IsDirectionReversedProperty Mengidentifikasi properti ketergantungan IsDirectionReversed. |
9 | IsThumbToolTipEnabled Mendapat atau menetapkan nilai yang menentukan apakah nilai slider ditampilkan di tip alat untuk komponen Thumb dari Slider. |
10 | IsThumbToolTipEnabledProperty Mengidentifikasi properti ketergantungan IsThumbToolTipEnabled. |
11 | Orientation Mendapat atau menyetel orientasi Slider. |
12 | OrientationProperty Mengidentifikasi properti ketergantungan Orientation. |
13 | StepFrequency Mendapat atau menetapkan bagian nilai dari rentang nilai yang langkah-langkahnya harus dibuat. |
14 | StepFrequencyProperty Mengidentifikasi properti ketergantungan StepFrequency. |
15 | ThumbToolTipValueConverter Mendapat atau menyetel logika konverter yang mengubah nilai rentang Slider menjadi konten tip alat. |
16 | ThumbToolTipValueConverterProperty Mengidentifikasi properti ketergantungan ThumbToolTipValueConverter. |
17 | TickFrequency Mendapat atau menyetel kenaikan kisaran nilai yang harus dibuat oleh tick. |
18 | TickFrequencyProperty Mengidentifikasi properti ketergantungan TickFrequency. |
19 | TickPlacement Mendapat atau menetapkan nilai yang menunjukkan tempat menggambar tanda centang dalam kaitannya dengan trek. |
20 | TickPlacementProperty Mengidentifikasi properti ketergantungan TickPlacement. |
Diberikan di bawah ini adalah yang biasa digunakan events di Slider kelas.
No Sr | Deskripsi acara |
---|---|
1 | ManipulationCompleted Terjadi saat manipulasi pada UIElement selesai. (Diwariskan dari UIElement) |
2 | ManipulationDelta Terjadi ketika perangkat input berubah posisi selama manipulasi. (Diwariskan dari UIElement) |
3 | ManipulationInertiaStarting Terjadi saat perangkat input kehilangan kontak dengan objek UIElement selama manipulasi dan inersia dimulai. (Diwariskan dari UIElement) |
4 | ManipulationStarted Terjadi saat perangkat input memulai manipulasi pada UIElement. (Diwariskan dari UIElement) |
5 | ManipulationStarting Terjadi saat prosesor manipulasi pertama kali dibuat. (Diwariskan dari UIElement) |
6 | ValueChanged Terjadi saat nilai rentang berubah. (Diwariskan dari RangeBase) |
Diberikan di bawah ini adalah yang biasa digunakan methods in Kelas slider.
No Sr | Metode & Deskripsi |
---|---|
1 | OnManipulationCompleted Disebut sebelum acara ManipulationCompleted terjadi. (Diwariskan dari Kontrol) |
2 | OnManipulationDelta Disebut sebelum acara ManipulationDelta terjadi. (Diwariskan dari Kontrol) |
3 | OnManipulationInertiaStarting Dipanggil sebelum acara ManipulationInertiaStarting terjadi. (Diwariskan dari Kontrol) |
4 | OnManipulationStarted Disebut sebelum acara ManipulationStarted terjadi. (Diwariskan dari Kontrol) |
5 | OnManipulationStarting Dipanggil sebelum acara ManipulationStarting terjadi. (Diwariskan dari Kontrol) |
6 | OnMaximumChanged Dipanggil ketika properti Maksimum berubah. (Diwariskan dari RangeBase) |
7 | OnMinimumChanged Dipanggil ketika properti Minimum berubah. (Diwariskan dari RangeBase) |
8 | OnValueChanged Mengaktifkan peristiwa yang dirutekan ValueChanged. (Diwariskan dari RangeBase) |
9 | SetBinding Melampirkan pengikatan ke FrameworkElement, menggunakan objek pengikatan yang disediakan. (Diwariskan dari FrameworkElement) |
10 | SetValue Menetapkan nilai lokal properti ketergantungan pada DependencyObject. (Diwariskan dari DependencyObject) |
Contoh
Mari kita lihat contoh sederhana di mana slider dan elips ditambahkan dan slider mengontrol lebar elips.
<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>
Diberikan di bawah ini adalah value changed event implementasinya adalah 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;
}
}
}
}
Ketika kode di atas dikompilasi dan dijalankan, Anda akan melihat output berikut. Seperti yang Anda lihat, saat Anda memindahkan penggeser dari kiri ke kanan, lebar elips bertambah.