2016-06-26 14 views
6

Jak mogę usunąć CheckBox? Potrzebuję tylko kleszcza. Teraz zajmuje dodatkową pustą przestrzeń, jak tutaj:UWP, XAML - wyrenderowanie CheckBoxa

I don't want that empty aqua-color space

<CheckBox 
Background="Aqua" 
Margin="0,0,0,0"/> 

(dodałem kolor spojrzeć, ile miejsca zajmuje ta kontrola (to pusta przestrzeń powoduje alligning problemów)).

Po prostu potrzebuję prostokąta, nie chcę pustej przestrzeni. Jak mogę to osiągnąć?

Ustawienie Marży na zera i Treść na "" nie działa.

Odpowiedz

14
  1. Jeśli chcesz tylko usunąć pustą przestrzeń po prawej stronie, można to zrobić przez dodanie padding i MinWidth 0:

    <CheckBox Background="Aqua" Padding="0" MinWidth="0"/> 
    

wygląda jak poniżej:

enter image description here

  1. Jeśli chcesz także aby usunąć przestrzeń u góry i dołu, potrzebujesz więcej prac:

    • 2a. Wybierz CheckBox w konspekcie dokumentu w Visual Studio
    • 2b. Kliknij prawym przyciskiem CheckBox -> Edytuj szablon -> Edytuj kopię 2c. Następnie możesz edytować styl w stylu CheckBox bezpośrednio
    • 2d. Następnie zlokalizuj następujący kod w ControlTemplate

      <Grid Height="32" VerticalAlignment="Top"> 
          <Rectangle x:Name="NormalRectangle" Fill="Transparent" Height="20" Stroke="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" StrokeThickness="{ThemeResource CheckBoxBorderThemeThickness}" UseLayoutRounding="False" Width="20"/> 
          <FontIcon x:Name="CheckGlyph" Foreground="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" FontSize="20" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="&#xE001;" Opacity="0"/> 
      </Grid> 
      

Jak widać Prostokąt 20x20 ale posiada siatkę pojemnik z 32 wysokości. Wystarczy zmodyfikować wysokość Grid od 32 do 20 będzie wyglądać jak poniżej:

enter image description here

Oh wait, to dlaczego nadal mają wysokość 32? To dlatego, że mają MinWidth i MinHeight zestaw w stylu

<Setter Property="MinWidth" Value="120"/> 
<Setter Property="MinHeight" Value="32"/> 

Wreszcie, można bezpośrednio zresetować zarówno wartości 0 tutaj, lub po prostu ustawić MinHeight zewnątrz jak w kroku 1.

enter image description here

+0

Dziękujemy! Działa :) Po prostu potrzebowałem usunąć puste miejsce po prawej stronie – michalsol