2013-08-06 46 views
5

Tôi thực sự bối rối vì sao một số hộp văn bản và nút của tôi bị cắt, ai đó có thể giúp tôi khắc phục vấn đề này? Cảm ơn!!

wpf: Nút, Hộp văn bản, bị cắt

XAML MÃ

<Grid> 
     <TabControl> 
      <TabItem Name="tabHome"> 
       <TabItem.Header> 
        <Label Content="Home" MouseLeftButtonDown="tabHome_Click"/> 
       </TabItem.Header> 
       <Grid> 
        <Button Content="Parse" Height="23" x:Name="btn_parse" Width="75" Click="buttonParse_Click" Margin="180,10,180,176"/> 
        <TextBox IsReadOnly="True" x:Name="txtbox_filepath" Height="25" Width="135" Margin="151,52,150,132" /> 
        <Button Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="180,122,180,64" Click="buttonReset_Click"/> 
       </Grid> 
      </TabItem> 
      <TabItem Name="tabConfig"> 
       <TabItem.Header> 
       <Label Content="Configuration" MouseLeftButtonDown="tabConfig_Click"/> 
       </TabItem.Header> 
       <ScrollViewer> 
        <StackPanel Name="panelConfig"> 
        </StackPanel> 
       </ScrollViewer> 
      </TabItem> 
<Grid> 

Ảnh chụp màn hình

screenshot

Như bạn có thể thấy nút và hộp văn bản được cắt đứt trong các góc.
Cảm ơn sự giúp đỡ của tôi.

Trả lời

8

Khi bạn đặt giá trị ký quỹ như sau: Margin="180,10,180,176" thì điều đó có nghĩa là điều khiển phải được đặt 180 dip từ trái và 10 nhúng từ trên cùng, 180 từ phải và 176 từ dưới cùng với tham chiếu đến điều khiển gốc. Các điều khiển của bạn đã được cắt bớt vì các giá trị Margin cao.

enter image description here

Lưu ý: nhúng - thiết bị pixel độc lập.

Tốt hơn là tạo RowDefinitions cho Grid và điều khiển địa điểm trong các hàng riêng biệt với giá trị ký quỹ hợp lý như được hiển thị bên dưới.

<Grid> 
    <TabControl> 
     <TabItem Name="tabHome"> 
      <TabItem.Header> 
       <Label Content="Home"/> 
      </TabItem.Header> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
       </Grid.RowDefinitions> 
       <Button Grid.Row="0" Content="Parse" Height="23" x:Name="btn_parse" Width="75" Margin="10" /> 
       <TextBox Grid.Row="1" IsReadOnly="True" x:Name="txtbox_filepath" Height="25" Width="135" Margin="10" /> 
       <Button Grid.Row="2" Content="Reset" Height="23" x:Name="btn_reset" Width="75" Margin="10"/> 
      </Grid> 
     </TabItem> 
     <TabItem Name="tabConfig"> 
      <TabItem.Header> 
       <Label Content="Configuration"/> 
      </TabItem.Header> 
      <ScrollViewer> 
       <StackPanel Name="panelConfig"> 
       </StackPanel> 
      </ScrollViewer> 
     </TabItem> 
    </TabControl> 
</Grid> 
+0

Cảm ơn bạn, tôi đã đề nghị của bạn, và bây giờ làm thế nào tôi sẽ làm cho khoảng cách giữa các nút và hộp văn bản của tôi? – AustinT

+0

Đặt giá trị ký quỹ hợp lý như 5 hoặc 10. Kiểm tra câu trả lời đã cập nhật của tôi. –

+0

cảm ơn! Tôi đánh giá cao sự hỗ trợ của bạn! – AustinT

0

Xóa các thuộc tính Height, WidthMargin.

Không sử dụng trình thiết kế Visual Studio để tạo giao diện người dùng WPF.

Hãy xem http://wpftutorial.net/LayoutProperties.html

+0

@ReedCopsey Đó chính là điều tôi đang nói đến. –

3

Bạn đang thiết một cách rõ ràng HeightWidth cho các nút, nhưng những giá trị bạn đang sử dụng là quá nhỏ.

Nếu bạn bỏ chúng ra, nút sẽ hiển thị một cách chính xác:

<Button Content="Parse" x:Name="btn_parse" Click="buttonParse_Click" Margin="180,10,180,176"/> 
<Button Content="Reset" x:Name="btn_reset" Margin="180,122,180,64" Click="buttonReset_Click"/> 

Lưu ý rằng bạn có thể làm một công việc tốt hơn về cách bố trí nếu bạn thiết kế tự thực hiện bằng một container Grid hoặc khác thay vì sử dụng Margin, cũng.

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