2010-03-19 19 views
16

WPF आधारित पाठ बॉक्स के लिए फ्लैट बॉर्डर शैली की आवश्यकता है ... वास्तव में यह देख कर हैरान कोई आसान तरीका इस तरह पाने के लिए BorderStyle.FixedSingleपाठ बॉक्स फ्लैट बॉर्डर शैली WPF

WinForms पाठ बॉक्स में था किसी भी आसान तरीका है वहाँ वहाँ इस WPF पाठ बॉक्स

उत्तर

6
<TextBox BorderThickness="1" BorderBrush="Black"> 

के लिए किया जाना सिर्फ काले द्वारा इस प्रयास करें या

+6

यह केवल काम करने के लिए प्रकट होता है जबकि टेक्स्टबॉक्स केंद्रित नहीं है। जब यह फोकस हो जाता है, सीमा को दो नीले रंग के रंगों से हाइलाइट किया जाता है। –

16

ग्रे तरीका यह है सीमा अपने आप को आकर्षित करने के लिए एक नियंत्रण टेम्पलेट का उपयोग करने के लिए है। आप इसे कई अलग-अलग तरीकों से कर सकते हैं, आपके लिए एक जोड़े को देखने के लिए है।

त्वरित हैक दृष्टिकोण:

<TextBox> 
    <TextBox.Template> 
     <ControlTemplate TargetType="{x:Type TextBox}"> 
      <Grid> 
       <Rectangle Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/> 
       <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/> 
      </Grid> 
     </ControlTemplate> 
    </TextBox.Template> 
</TextBox> 

और फिर संसाधनों का उपयोग कर theres ...

<ResourceDictionary> 
    <Color x:Key="detailMark">#FFA1A9B3</Color> 
    <SolidColorBrush x:Key="detailMarkBrush" Color="{StaticResource ResourceKey=detailMark}" /> 
    <Style x:Key="flatTextBox" TargetType="{x:Type TextBox}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type TextBox}"> 
        <Grid> 
         <Rectangle Stroke="{StaticResource ResourceKey=detailMarkBrush}" StrokeThickness="1"/> 
         <TextBox Margin="1" Text="{TemplateBinding Text}" BorderThickness="0"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ResourceDictionary> 

और फिर आप शैली का उपयोग कर सकते हैं:

<TextBox Style="{StaticResource ResourceKey=flatTextBox}" /> 
संबंधित मुद्दे