WPF: Abstand zwischen den Elemente im stackpanel
Habe ich ein stackpanel-Steuerelement mit den Checkboxen.
Ich kann nicht scheinen, um gleiche Abstände zwischen den Checkboxen mit margin-Eigenschaft
Kann some1 mir sagen, was mache ich falsch?
Den code unten gibt mir diese:
(Quelle: shrani.si)
Wie Sie sehen können, ist der Abstand zwischen den Elementen ist nicht konstant !
<StackPanel MinWidth="150" cal:Bind.Model="{Binding}" Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Margin" Value="0,0,20,0"/>
</Style>
</StackPanel.Resources>
<CheckBox IsChecked="{Binding IsShown}" Content="{Binding ModuleName, Converter={StaticResource localizeModuleAndFunctionConverter}}"
cal:Message.Attach="[Event Click] = [Action FilterShownModuleFunctions]" />
</StackPanel>
- Können Sie fügen Sie das Bild hier?
- Sind Sie sicher, dass die Checkboxen innerhalb der StackPanel? Können Sie überprüfen, ob alle global definierte Stile für die Checkbox?
- Ist das StackPanel "standalone" oder ist es das panel eines ItemsControl für eine Art? Sie zeigen nur ein Kontrollkästchen in deinem Beispiel, so ist es schwer zu sagen, wie das Bild mit dem code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute, dein problem ist dein MinWidth="150" - Eigenschaft. Ich glaube, du hast insgesamt 5 stackpanels jetzt. Du hast 4 stack-panels, die jeweils Ihre eigene checkbox. Dann nehme ich an du hast eine 5. stack-panel-halten Sie Ihr 4 Stapel Platten.
Wenn das wahr ist... dann ist das problem, dass jedes der Kontrollkästchen werden in einem stack-panel von 150 Breite (minimum), aber Ihre Dritte stack-panel größer ist als 150, denn der text ist so lang, dass muss größer sein enthalten den gesamten text (plus eine Marge von 20).
Entfernen Sie die MinWidth="150" und ich denke, Sie erhalten einen margin von 20 zwischen dem text der einzelnen checkbox. (wenn Sie es wollen, auch die Abstände zwischen den eigentlichen Felder der Checkboxen, dann sollten Sie halten Ihre minwidth aber machen Sie es groß genug, dass Sie mindestens so breit wie das Kontrollkästchen mit dem längsten text).