2012-11-29 28 views
10

Tôi có UserControl sau đây. Đó là một TextBox với một Button:Làm thế nào để thực hiện một hộp văn bản với một nút rõ ràng trong wpf?

<Grid> 
    <TextBox 
     Grid.Column="0" 
     Text="{Binding Text, 
       RelativeSource={RelativeSource AncestorType=UserControl}, 
       UpdateSourceTrigger=PropertyChanged}" 
     x:Name="TextBox" /> 

    <Button 
     Background="{Binding Background, ElementName=TextBox}" 
     Grid.Column="1" 
     Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" 
     HorizontalAlignment="Right" 
     Visibility="{Binding IsClearButtonVisible, 
         RelativeSource={RelativeSource AncestorType=UserControl}, 
         Converter={StaticResource BooleanToVisibilityConverter}}" 
     Command="{Binding ClearTextCommand, 
        RelativeSource={RelativeSource AncestorType=UserControl}}"  
     HorizontalContentAlignment="Center" 
     VerticalContentAlignment="Center" > 

     <Button.Content> 
      <Image 
       Source="{StaticResource Delete2}" 
       Stretch="None" 
       RenderOptions.BitmapScalingMode="NearestNeighbor" 
       VerticalAlignment="Center" 
       HorizontalAlignment="Center" /> 
     </Button.Content> 
    </Button> 
</Grid> 

Trong Windows 7 nó sẽ rất tốt nhưng trong Windows XP Tôi có vấn đề sau:

enter image description here

Bất kỳ ý tưởng về làm thế nào để khắc phục vấn đề? Nếu tôi làm cho nền trong suốt thì không có vấn đề gì với nút nhưng văn bản nằm bên dưới nút và có vẻ lạ.

Trả lời

6

Làm cho Button nhỏ hơn và/hoặc thêm một lề nhỏ để "giảm kích thước" nền hiển thị.

Chỉnh sửa: Trong khi nhìn xung quanh một chút (tự hỏi rằng điều này chưa được thêm làm tính năng mới) Tôi đã tìm thấy this article with step-by-step instructions you could give a try.

+0

Nếu tôi làm điều đó sau đó trên W7 nút là nhỏ hơn so với textbox và khi bạn Hoover/nhấp chuột trên nó trông xấu xí quá: ( –

+0

Hãy thử bài đăng blog tôi đã liên kết. – Mario

2

Tôi nghĩ rằng bạn nên sử dụng ControlTemplate s ở đây, ví dụ như bạn có thể nhìn thấy Search Text Box Controlhere bạn có thể tìm textbox mẫu

Các vấn đề liên quan