2

ビューボックス付きのWPFウィンドウがあります。このビューボックスの子要素の1つを、どの画面解像度でも同じサイズのままにしておきたいです。

私のXAML:

<Viewbox Name="MyMainViewbox" Stretch="Fill">
<Grid Name="MyMainGrid">
    <Image Source="Images/bg.bmp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="Fill"/>
    <Image Name="Thumb1" Source="Images/t1.png"  MouseUp="Right_Click"  Margin="0, 100, 50, 0" HorizontalAlignment="Right" VerticalAlignment="Stretch" Visibility="Visible"/>
    <Image Name="Thumb2" Source="Images/t2.png" MouseUp="Left_Click"  Margin="50, 100, 0, 0" HorizontalAlignment="Left"  VerticalAlignment="Stretch" Visibility="Visible"/>
    <Image Name="CurThumb" Width="640" Height="480" Stretch="UniformToFill"  Margin="0, 50, 0, 0" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Hidden"/>
 </Grid>
</Viewbox>

ビューボックス内の最初の2つの画像は事前定義されており、さまざまな画面解像度で細かく拡大縮小されます。私の問題は、実行時にソースを取得し、すべての解像度で同じ正確なサイズである必要がある3番目の画像にあります。4x3のアスペクト比で撮影された写真が含まれますので、そのままにしておいてください。

ただし、16x9の画面解像度では、それらは引き伸ばされます。XAMLで固定サイズを設定しようとしましたが、機能しません。StretchをNoneに設定しようとしましたが、どちらも機能しません。私はこの画像のサイズをコードビハインドに残そうとしましたが、無駄になりました。

この3番目の画像をスケーリング不能にするために他に何ができますか?いくつかの理由で、ビューボックス内にとどまる必要があります。

4

1 に答える 1

3

2つの重複する要素を使用します。

<Grid>
    <Viewbox>
        <Grid>
            ... scaled images
        </Grid>
    </Viewbox>
    <Grid>
        ... non scaled images
    <Grid>
<Grid>
于 2012-04-01T13:51:03.080 に答える