सिल्वरलाइट - सामग्री मॉडल
बटन मॉडल सामग्री के लिए सामग्री का एक रूप प्रदान करते हैं। मॉडल नियंत्रण में बहुत फसल लेते हैं। विचार सरल है। यह किसी भी सामग्री को स्वीकार करेगा न कि केवल पाठ को। यदि आप वास्तव में विदेशी बटन बनाना चाहते हैं, तो आप अन्य सामग्री नियंत्रण जैसे कि टेक्स्ट बॉक्स और बटन अंदर (और अंदर अभी भी घोंसले के तत्व) को रख सकते हैं। यह संदिग्ध है कि इस तरह के इंटरफ़ेस से बहुत समझ में आएगा, लेकिन यह संभव है।
आइए हम बटन के साथ एक सरल उदाहरण देखें, अंदर बटन अन्य सामग्री नियंत्रण।
<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
स्क्रॉलबार और स्लाइडर नियंत्रण बारीकी से संबंधित हैं। वे दोनों उपयोगकर्ता को एक विशेष सीमा से इनपुट मूल्य चुनने की अनुमति देते हैं। परंपरागत रूप से, ये नियंत्रण अलग-अलग चीजों को दर्शाते हैं। स्क्रॉलबार का उपयोग आम तौर पर एक अंडकोष क्षेत्र में स्थिति निर्धारित करने के लिए किया जाता है, जबकि स्लाइडर का उपयोग कुछ मूल्य या सेटिंग को निर्दिष्ट करने के लिए किया जाता है। ये सिर्फ कन्वेंशन हैं; नियंत्रणों में समान व्यवहार और एपीआई होते हैं।
सीमा नियंत्रण उपयोग करने के लिए सरल हैं। आप स्लाइडर का प्रतिनिधित्व करने के लिए मूल्यों की सीमा को इंगित करने के लिए न्यूनतम और अधिकतम मान निर्दिष्ट करते हैं। Value संपत्ति भिन्न होगी क्योंकि ड्रग्स का उपयोग भिन्न होता है।
की पदानुक्रमित विरासत Slider वर्ग इस प्रकार है -
नीचे दिए गए आमतौर पर इस्तेमाल किया जाता है properties का Slider।
अनु क्रमांक। | संपत्ति विवरण |
---|---|
1 | Header नियंत्रण के हेडर के लिए सामग्री मिलती या सेट करती है। |
2 | HeaderProperty हैडर निर्भरता संपत्ति की पहचान करता है। |
3 | HeaderTemplate नियंत्रण के हेडर की सामग्री को प्रदर्शित करने के लिए उपयोग की जाने वाली DataTemplate हो जाती है या सेट हो जाती है। |
4 | HeaderTemplateProperty हेडरप्लेट निर्भरता संपत्ति की पहचान करता है। |
5 | IntermediateValue उपयोगकर्ता को इसके साथ इंटरैक्ट करते समय, स्लाइडर का मान हो जाता है या सेट हो जाता है, इससे पहले कि मूल्य टिक या स्टेप वैल्यू के लिए तड़क जाए। SnapsTo गुण स्लाइडर का मान निर्दिष्ट करता है। |
6 | IntermediateValueProperty इंटरमीडिएट वेल्यू निर्भरता संपत्ति की पहचान करता है। |
7 | IsDirectionReversed एक मान प्राप्त करता है या बढ़ता है जो बढ़ते मूल्य की दिशा को इंगित करता है। |
8 | IsDirectionReversedProperty IsDirectionReversed निर्भरता गुण की पहचान करता है। |
9 | IsThumbToolTipEnabled एक मान प्राप्त करता है या निर्धारित करता है कि स्लाइडर मूल्य अंगूठे के घटक के लिए टूल टिप में दिखाया गया है या नहीं। |
10 | IsThumbToolTipEnabledProperty IsThumbToolTipEnabled निर्भरता गुण की पहचान करता है। |
1 1 | Orientation एक स्लाइडर के उन्मुखीकरण को प्राप्त करता है या सेट करता है। |
12 | OrientationProperty ओरिएंटेशन डिपेंडेंसी प्रॉपर्टी की पहचान करता है। |
13 | StepFrequency हो जाता है या मान श्रेणी का मान भाग सेट करता है जिसके लिए चरण बनाए जाने चाहिए। |
14 | StepFrequencyProperty StepFrequency निर्भरता संपत्ति की पहचान करता है। |
15 | ThumbToolTipValueConverter हो जाता है या कनवर्टर लॉजिक सेट करता है जो स्लाइडर के रेंज मान को टूल टिप कंटेंट में परिवर्तित करता है। |
16 | ThumbToolTipValueConverterProperty ThumbToolTipValueConverter निर्भरता गुण की पहचान करता है। |
17 | TickFrequency हो जाता है या मूल्य सीमा की वृद्धि सेट करता है कि टिक के लिए बनाया जाना चाहिए। |
18 | TickFrequencyProperty टिकरफ्रीक्वेंसी डिपेंडेंसी प्रॉपर्टी की पहचान करता है। |
19 | TickPlacement हो जाता है या एक मान सेट करता है जो इंगित करता है कि ट्रैक के संबंध में टिक के निशान कहाँ खींचना है। |
20 | TickPlacementProperty टिकप्लस निर्भरता संपत्ति की पहचान करता है। |
नीचे दिए गए आमतौर पर इस्तेमाल किया जाता है events में Slider कक्षा।
अनु क्रमांक। | घटना विवरण |
---|---|
1 | ManipulationCompleted तब होता है जब UIElement पर एक हेरफेर पूरा हो गया है। (UIElement से निहित) |
2 | ManipulationDelta तब होता है जब हेरफेर के दौरान इनपुट डिवाइस स्थिति बदलता है। (UIElement से निहित) |
3 | ManipulationInertiaStarting तब होता है जब इनपुट डिवाइस एक हेरफेर के दौरान UIElement ऑब्जेक्ट के साथ संपर्क खो देता है और जड़ता शुरू होती है। (UIElement से निहित) |
4 | ManipulationStarted तब होता है जब एक इनपुट डिवाइस UIElement पर एक हेरफेर शुरू करता है। (UIElement से निहित) |
5 | ManipulationStarting तब होता है जब हेरफेर प्रोसेसर पहली बार बनाया जाता है। (UIElement से निहित) |
6 | ValueChanged तब होता है जब सीमा मूल्य बदल जाता है। (रेंजबेस से विहित) |
नीचे दिए गए आमतौर पर इस्तेमाल किया जाता है methods in स्लाइडर वर्ग।
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | OnManipulationCompleted ManipulationCompleted इवेंट होने से पहले कॉल किया गया। (नियंत्रण से आच्छादित) |
2 | OnManipulationDelta मैनीपुलेशनडेल्टा घटना होने से पहले कॉल किया जाता है। (नियंत्रण से आच्छादित) |
3 | OnManipulationInertiaStarting ManipulationInertiaStarting ईवेंट होने से पहले कॉल किया जाता है। (नियंत्रण से आच्छादित) |
4 | OnManipulationStarted मैनीपुलेशनस्टार्टेड ईवेंट होने से पहले कॉल किया जाता है। (नियंत्रण से आच्छादित) |
5 | OnManipulationStarting मैनीपुलेशनस्टार्टिंग ईवेंट होने से पहले कॉल किया जाता है। (नियंत्रण से आच्छादित) |
6 | OnMaximumChanged अधिकतम संपत्ति में परिवर्तन होने पर कॉल किया जाता है। (रेंजबेस से विहित) |
7 | OnMinimumChanged न्यूनतम संपत्ति में परिवर्तन होने पर कॉल किया जाता है। (रेंजबेस से विहित) |
8 | OnValueChanged मान परिवर्तन किए गए ईवेंट को निकालता है। (रेंजबेस से विहित) |
9 | SetBinding प्रदान की गई बाध्यकारी वस्तु का उपयोग करके एक फ्रेमवर्क के लिए एक बंधन संलग्न करता है। (फ्रेमवर्क से विरासत में मिला) |
10 | SetValue डिपेंडेंसीऑब्जेक्ट पर निर्भरता संपत्ति का स्थानीय मूल्य निर्धारित करता है। (निर्भरता से बाहर आकर) |
उदाहरण
आइए हम एक सरल उदाहरण पर एक नज़र डालें जिसमें एक स्लाइडर और एक दीर्घवृत्त जोड़ा जाता है और स्लाइडर को दीर्घवृत्त की चौड़ाई को नियंत्रित करता है।
<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;
}
}
}
}
जब उपरोक्त कोड संकलित और निष्पादित किया जाता है, तो आपको निम्न आउटपुट दिखाई देगा। जैसा कि आप देख सकते हैं, जब आप स्लाइडर को बाएं से दाएं स्थानांतरित करते हैं, तो दीर्घवृत्त की चौड़ाई बढ़ जाती है।