5

画像がグリッドの右側の境界線を越える理由がわかりません。修復方法を教えてください。コードは次のようになります。

    <Grid>
        <Grid Name="grid1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="260" />
                <ColumnDefinition Width="640" />
            </Grid.ColumnDefinitions>
            <Image Grid.Column="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/>
            <ListView Height="361" HorizontalAlignment="Left" Margin="10,10,0,0" Name="listView1" VerticalAlignment="Top" Width="240" ItemsSource="{Binding}" />
            <Button Content="Add New Gesture" Height="39" HorizontalAlignment="Left" Margin="10,387,0,0" Name="button1" VerticalAlignment="Top" Width="112" Click="button1_Click" />
            <Button Content="Delete" Height="39" HorizontalAlignment="Left" Margin="191,387,0,0" Name="button2" VerticalAlignment="Top" Width="59" />
            <Button Content="Modify" Height="39" HorizontalAlignment="Left" Margin="128,387,0,0" Name="button3" VerticalAlignment="Top" Width="57" />
        </Grid>
    </Grid>
4

2 に答える 2

2

これは、設定した固定幅の効果のように見えます (固定列幅の合計が固定ウィンドウ幅よりも大きいのではないでしょうか?) これにより、グリッド セル (および画像) がビューから外れます。

ColumnDefinitionウィンドウに残っているスペース全体を画像で埋める場合は、2 番目の幅を"*"ではなく に変更します640

<ColumnDefinition Width="*" />
于 2012-11-16T23:20:15.623 に答える
0

編集:これは間違っていることが判明し、実行可能な解決策ではありません。ごめん

わかりましたので、あなたの問題が正確に何であるかは本当に不明です。もう少し詳細を提供すると、人々はより簡単にあなたを助けることができます.

私が理解できることから (これは完全に間違っている可能性があります)、画像が「グリッドの右の境界を越える」と言うと、画像は 1 つの列にのみ表示され、次の列に「オーバーフロー」することを意味します。

これは、Image コントロールに次の属性を追加することで回避できます。

Grid.ColumnSpan="1"

したがって、次のようになります。

<Image Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/>

これにより、画像が他の列にオーバーフローするのを防ぎ、画像が配置されている列に制限されます。前に言ったように、問題を完全に理解しているかどうかはわかりませんが、詳細を提供していただければ、喜んで私の修正を試みますあなたをよりよく助けるために答えてください。とはいえ、今はこれが精一杯。

于 2012-11-16T23:33:27.940 に答える