0

配置とマージンのほぼすべての組み合わせを試しましたが、成功しませんでした。ListBoxは、メインウィンドウのフレームにバインドされているWPFページにあります。

ListBox自体は問題ありません。思った通りに整列します。私のListBoxItemには、ImageとTextBlockが含まれています。TextBlockが切断されます。

次の画像からわかるように、物事はほとんど良好です。

ここに画像の説明を入力してください

ListBoxは、その青いボックスの左端と上部から適切にオフセットされています。コンテンツのImageとTextBlockはかなり中央に配置されており、ListBoxItemのアウトラインも中央に配置されています。これは私の開発マシンにあります。

グリッド、グリッド線、および配置プロパティを使用する理由は、ハードコードされたサイズを設定する必要がないためだと思いました。コントロールのサイズが変更されること。これは実際には他のすべてに対して問題なく機能します。

しかし、これを小さな画面に配置すると、次のようになります。

ここに画像の説明を入力してください

ListBox自体はまだ正しく配置されています。しかし今、ListBoxItemは強制的にダウンされています。上部の配置はまだ良好ですが、下部が押し下げられているため、TextBlockまたはListBoxItemの下部が表示されません。

これが私のXAMLです。

<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="1">
    <Grid.RowDefinitions>
        <RowDefinition Height="292*" />
        <RowDefinition Height="30*"/>
    </Grid.RowDefinitions>

    <ListBox Grid.Row="1" Name="lbButtons" Margin="2,0,0,1.5" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Visibility="Visible" >
        <StackPanel Name="spListBoxItems" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Orientation="Horizontal">
            <ListBoxItem Margin="0,0,0,0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
                <StackPanel Orientation="Vertical" HorizontalAlignment="Center" Margin="10,5,10,5">
                    <Image Source="/COBAN.CobanConsole.UI;component/Images/Buttons/Light/record48_light.png" />
                    <TextBlock Text="Record" Margin="5,5,0,0"></TextBlock>
                </StackPanel>
            </ListBoxItem>
        </StackPanel>
    </ListBox>
</Grid>

それほど多くはありません。何が起こっているのかについて何かアイデアはありますか?

4

1 に答える 1

0

グリッド行の定義で*単位を使用しています。これらは相対的な尺度です。これらは、行が占めることができるスペースの割合を示しているだけです。リストボックスに特定の高さを設定する必要がある場合は、次のように、代わりに2番目の行を絶対サイズに変更する必要があります。

<Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="30"/>
</Grid.RowDefinitions>
于 2013-02-08T00:10:32.767 に答える