2009-09-29 17 views
6

के बीच WPF टैब नियंत्रण अंतर, WPF Tabcontrol का डिफ़ॉल्ट व्यवहार एक दूसरे के आस-पास टैब हेडर को एक दूसरे के आस-पास खाली स्थान के बिना रखना है। अगर मैं हेडर के बीच एक अंतर निर्दिष्ट करना चाहता था तो क्या होगा? क्या मुझे इसके लिए एक नियंत्रण टेम्पलेट परिभाषित करना है? मैं डब्लूएफपी के लिए अपेक्षाकृत नया हूं और किसी भी मदद की सराहना की जाती है।शीर्षलेख

धन्यवाद

उत्तर

9

मेरा मानना ​​है कि आप TabItem के लिए एक कस्टम नियंत्रण टेम्पलेट, हो सकता है यहां तक ​​कि TabControl के लिए एक परिभाषित करने के लिए की आवश्यकता होगी। यहां एक टैबइटेम का एक उदाहरण दिया गया है जो कुछ अलगाव के लिए स्पेसर का उपयोग करता है।

<Style 
    x:Key="SpacedTab" 
    TargetType="{x:Type TabItem}"> 
    <Setter 
     Property="Template"> 
     <Setter.Value> 
      <ControlTemplate 
       TargetType="{x:Type TabItem}"> 
       <Border 
        x:Name="Spacer" 
        Width="Auto" 
        Height="Auto" 
        Padding="0 0 5 0" 
        Margin="0 0 0 0" 
        BorderBrush="Transparent" 
        BorderThickness="0"> 
        <Border 
         x:Name="Border" 
         MinWidth="150" 
         Width="Auto" 
         Height="30" 
         Background="Gray" 
         BorderBrush="DarkGray" 
         BorderThickness="0,0,0,0" 
         CornerRadius="6,6,0,0" 
         Cursor="Hand" 
         VerticalAlignment="Bottom"> 
         <ContentPresenter 
          x:Name="ContentSite" 
          TextElement.FontSize="10pt" 
          TextElement.FontFamily="Arial" 
          TextElement.Foreground="Black" 
          VerticalAlignment="Center" 
          HorizontalAlignment="Center" 
          ContentSource="Header" 
          Margin="8,3,8,3" 
          Width="Auto" 
          Height="Auto" /> 
        </Border> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

उम्मीद है कि है कि सही दिशा में एक कुहनी से हलका धक्का है, आपको अभी भी एक स्टाइल संसाधन के रूप में जोड़ने और इसे अपने TabControl -> TabItem से संदर्भित करने की आवश्यकता होगी।

+1

ठीक है, मैं इसे आजमाउंगा। धन्यवाद –

3

डिजाइनर में ऐसा करके स्थान जोड़ना आसान है। दाएं टैब से शुरू करके, उस टैब का चयन करें जिसे आप स्थानांतरित करना चाहते हैं। फिर ctrl दबाएं और टैब को दाईं ओर ले जाने के लिए दायां तीर कुंजी का उपयोग करें। बाकी टैब के साथ ऐसा ही करें। फिर आप xaml कोड में मार्जिन मैन्युअल रूप से समायोजित कर सकते हैं।

+1

एक डिजाइनर के लिए कोई ज़रूरत नहीं है। कोड काम में संचयी मार्जिन भी [टैब] स्पेस [टैब] [टैब] स्पेस [टैब] पहले टैब के लिए 0 के बाएं और दाएं मार्जिन होंगे, फिर दूसरे टैब के लिए x और अंतिम टैब के लिए 2x जहां x चौड़ाई है जगह का" – byteit101

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