2010-03-19 29 views
16

Win metin kutusuna metin kutusu düz sınır tarzı wpf

BorderStyle.FixedSingle

oldu bu hale kolay bir yolu herhangi bir kolaylık var orada olduğunu ... görmek gerçekten şaşırttı wpf tabanlı metin için düz sınır stilini olması gerekir Bu wpf metin

cevap

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

için halletmek için sadece siyah tarafından bu deneyin ya

+6

bu fikrin geçerli görünmektedir metin kutusu odaklanmamış iken. Odağı aldığında, kenarlık iki mavi tonla vurgulanır. –

16

bunu yapmanın yolu gri çerçevenin kendinizi çekmek için bir kontrol şablonu kullanmaktır. Bunu pek çok farklı şekilde yapabilirsiniz, bakmanız için bir çift.

hızlı kesmek yaklaşım:

<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> 

ve ardından gidecekseniz kaynakları kullanarak ...

<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> 

ve sonra stilini kullanabilirsiniz:

<TextBox Style="{StaticResource ResourceKey=flatTextBox}" />