मुझे विश्वास है कि ऐसा करने का सबसे अच्छा तरीका कस्टम टिकबार नियंत्रण बनाना और टिकों के प्रतिपादन को ओवरराइड करना है।
public class NumberedTickBar : TickBar
{
protected override void OnRender(DrawingContext dc)
{
Size size = new Size(base.ActualWidth,base.ActualHeight);
int tickCount = (int)((this.Maximum - this.Minimum)/this.TickFrequency) + 1;
if((this.Maximum - this.Minimum) % this.TickFrequency == 0)
tickCount -= 1;
Double tickFrequencySize;
// Calculate tick's setting
tickFrequencySize = (size.Width * this.TickFrequency/(this.Maximum - this.Minimum));
string text = "";
FormattedText formattedText = null;
double num = this.Maximum - this.Minimum;
int i = 0;
// Draw each tick text
for(i = 0;i <= tickCount;i++)
{
text = Convert.ToString(Convert.ToInt32(this.Minimum + this.TickFrequency * i),10);
formattedText = new FormattedText(text,CultureInfo.GetCultureInfo("en-us"),FlowDirection.LeftToRight,new Typeface("Verdana"),8,Brushes.Black);
dc.DrawText(formattedText,new Point((tickFrequencySize * i),30));
}
}
}
तो फिर तुम डिफ़ॉल्ट tickbar के बजाय अपने नए Tickbar का उपयोग करता है अपने स्लाइडर के लिए एक कस्टम शैली बनाने के लिए होगा: यहाँ एक तरीका है।
यदि आप सुनिश्चित नहीं हैं कि स्लाइडर के लिए शैली कैसे बनाएं, तो आप विंडोज़ उदाहरण here. से शुरू कर सकते हैं यह एक बहुत ही परिष्कृत है।
तब एकमात्र चीज है जो शीर्ष टिकबार को अपने नए कस्टम के साथ प्रतिस्थापित करना है। मूल रूप से बदलने के लिए:
<TickBar Name="TopTick" SnapsToDevicePixels="True" Placement="Top" Fill="{StaticResource GlyphBrush}" Height="4" Visibility="Collapsed" />
यह करने के लिए:
<local:NumberedTickBar Name="TopTick" Margin="5,0,10,0" SnapsToDevicePixels="True" Grid.Row="0" Fill="{TemplateBinding Foreground}" Placement="Top" Height="4" Visibility="Collapsed"/>
मार्जिन महत्वपूर्ण है क्योंकि कि यह सुनिश्चित करेंगे कि अपने पाठ सही जगह में है।
आपका स्लाइडर शीर्ष पर टिकों के साथ शीर्ष पर होगा। टेक्स्ट की एक पंक्ति टिक के नीचे प्रदर्शित की जाएगी।
क्या आप सिल्वरलाइट में काम करने वाले एक उत्तर चाहते हैं? यह सबसे अच्छा है यदि आप इस बारे में स्पष्ट हैं कि इसे वास्तव में कहां काम करने की आवश्यकता है। – AnthonyWJones
हाय एंथनी, मुझे इसे एक डब्ल्यूपीएफ परियोजना के लिए जरूरी है जिसे अगले वर्ष सिल्वरलाइट में भेज दिया जा रहा है, इसलिए मुझे विशेष रूप से परेशान नहीं किया गया है कि मुझे डब्ल्यूपीएफ या सिल्वरलाइट समाधान मिल रहा है या नहीं। दोनों के बीच समानता को देखते हुए मैं किसी भी सुझाव को किसी भी तरह से अनुकूलित करने में सक्षम होने की उम्मीद करता हूं। मिच – Mitch