6

チェックボックス付きのスタックパネルがあります。マージンプロパティを持つチェックボックスの間に同じ間隔を作ることができないようです

some1は私が間違っていることを教えてもらえますか?

以下のコードは私にこれを与えます:

http://www.shrani.si/f/1Y/M6/4eniAdAw/margin.png
(出典:shrani.si

ご覧のとおり、要素間の間隔は一定ではありません。

<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>
4

1 に答える 1

4

あなたの問題はあなたのMinWidth="150"プロパティだと思います。現在、合計5つのスタックパネルがあると思います。4つのスタックパネルがあり、それぞれが独自のチェックボックスを保持しています。次に、4つのスタックパネルを保持する5番目のスタックパネルがあると仮定します。

これが当てはまる場合...問題は、各チェックボックスが150幅(最小)のスタックパネルにあるが、テキストが長すぎるため、テキストを含めるには大きくする必要があるため、3番目のスタックパネルが150より大きいことです。テキスト全体(および20のマージン)。

MinWidth = "150"を削除すると、各チェックボックスのテキストの間に20のマージンができると思います。(チェックボックスの実際のボックスの間隔を均等にしたい場合は、最小幅を維持する必要がありますが、少なくとも最長のテキストを含むチェックボックスと同じ幅になるように十分に大きくしてください)。

于 2010-07-19T14:33:03.327 に答える