Pracuję z XAML w Windows 8 Metro.Jak pozbyć się dodatkowej marży wokół przycisku?
Mam siatkę z wieloma wierszami. Pierwszy wiersz zawiera przycisk, a drugi obraz. Obraz ma pełne 600 jednostek szerokości, a przycisk ma zawartość obrazu. Problem polega na tym, że niezależnie od tego, jak styluję przycisk, jego lewy brzeg nie pasuje do lewej krawędzi obrazu. Podczas przełączania ustawień wygląda to tak, jakby przycisk zawierał dodatkowy margines poza obramowaniem, mimo że ustawiłem margines (i dopełnienie i grubość krawędzi) przycisku na 0.
Gdzie to jest granica pochodzi? Jak się go pozbyć? Próbowałem utworzyć niestandardowy styl z wartością Szablon (poniżej), ale ignoruje on moje inne ustawienia stylu. Nie mogłem znaleźć wiele przydatnych dokumentów na temat tego, jak zbudować szablon - lub nawet, jeśli to jest problem.
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<ContentPresenter Content="{TemplateBinding Content}" Margin="0" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
To wygląda na błąd. Przyciski z zawartością obrazu renderują dwa piksele na prawo od przycisków bez zawartości obrazu; jest to łatwiejsze do zobaczenia w pionowym panelu stosu. I może istnieć magia frakcyjno-pikselowa, która powoduje też łupanie fałszywych granic na hovernover. – AndrewS