2010-10-22 7 views

उत्तर

14

उपयोग शैलियों

<Style x:Key="MySeparatorStyle" TargetType="{x:Type Separator}"> 
     <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/> 
     <Setter Property="Margin" Value="0,2,0,2"/> 
     <Setter Property="Focusable" Value="false"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Separator}"> 
        <Border 
         BorderBrush="{TemplateBinding BorderBrush}" 
         BorderThickness="{TemplateBinding BorderThickness}" 
         Background="{TemplateBinding Background}" 
         Height="1" 
         SnapsToDevicePixels="true"/> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

एक विभाजक सिर्फ एक सीमा तत्व है और अब आप अपनी उपस्थिति आप की तरह किसी भी तरह से बदल सकते हैं?

+0

यह टूलबार विभाजक के साथ काम नहीं करता है, नीचे @ code4life से उत्तर देखें। टूलबार विभाजक के साथ काम करने वाला एकमात्र उत्तर होने के लिए – Benlitz

18

हम्म ... मुझे लगता है कि Separator कुछ तत्वों में से एक है जो एक साधारण शैली का उपयोग नहीं कर पाएंगे। एमएसडीएन दस्तावेज के आधार पर, आपको SeparatorStyleKey निर्दिष्ट करना होगा।

एक ToolBar आप इस करना होगा के लिए उदाहरण के लिए:

<Style x:Key="{x:Static ToolBar.SeparatorStyleKey" 
    TargetType="{x:Type Separator}"> 
    <Setter Property="Background" 
     Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/> 
    <Setter Property="Margin" Value="0,2,0,2"/> 
    <Setter Property="Focusable" Value="false"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Separator}"> 
       <Border 
        BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}" 
        Background="{TemplateBinding Background}" 
        Height="1" 
        SnapsToDevicePixels="true"/> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

+1। कोई दूसरा जवाब काम नहीं करता है। – Benlitz

+0

कुंजी नामकरण महत्वपूर्ण है। – code4life

+0

बीटीडब्लू, यहां एक लेख है जो बता रहा है कि क्यों, और अन्य प्रकार के विभाजकों को शैलीबद्ध करने का तरीका भी उल्लेख किया गया है, अर्थात् मेनूइटेम के विभाजक: http://devlicio.us/blogs/christopher_bennage/archive/2008/06/19/styling-separators -in-wpf.aspx – Benlitz

7

वैकल्पिक रूप से आप एक आयत तत्व का उपयोग करने के लिए चुन सकते हैं:

<Rectangle HorizontalAlignment="Stretch" Fill="Blue" Height="2"/>

यह कुछ हद तक/आकार को संशोधित करना आसान है।

+0

क्या आयत को संदर्भमेन में गैर-चयन योग्य बनाने का कोई तरीका है? विभाजक के बारे में अच्छी बात यह है कि आप इसे हाइलाइट नहीं कर सकते हैं, यह वास्तविक मेनूइटम बच्चा नहीं है – goldenratio

51

आप पृष्ठभूमि सेट कर सकते हैं:

<Separator Background="Red"/> 
5

आप इस कोड का उपयोग Separator के रंग सेट कर सकते हैं:

<Separator BorderBrush="Red" BorderThickness="1"/>

नोट कि BorderThickness संपत्ति भी लागू किया जाना चाहिए।

संबंधित मुद्दे