2

特定の親ディレクトリで新しい画像をチェックするWPFアプリケーションがあり、新しい画像がある場合は、現在表示されている画像を切り替えます(6つの画像があります)。

ユーザーが画像の1つをクリックできるようにする機能を追加したいと思います。そのクリックすると、「新しい」ウィンドウが表示され、その画像が拡大されて表示され、画面上の任意の場所をクリックするとこの拡大が終了し、フォーカスを他の (6) 画像に戻します。

それは可能ですか?グーグルを試しましたが、関連する解決策zoom image wpfしか見つかりませんでした。mouse-drag

私も使ってみviewportましたが、それもうまくいきませんでした。

更新 - XAML

<Grid Grid.Row="0">
        <GroupBox  x:Name="AccuracyGraphsGroupBox" Header="Accuracy" Foreground="Red">
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.5*" />
                    <ColumnDefinition Width="0.5*" />
                </Grid.ColumnDefinitions>
                <Image Grid.Column="0" Width="Auto" Height="Auto" Stretch="Fill" x:Name="AccuracyPicBox" MouseUp="AccuracyPicBox_OnMouseUp"></Image>
                <Image Grid.Column="1" Width="Auto" Height="Auto" Stretch="Fill" x:Name="AccuracyPerioPicBox" MouseUp="AccuracyPerioPicBox_OnMouseUp"></Image>
            </Grid>
        </GroupBox>
    </Grid>
4

1 に答える 1

7

コメントで言及されているように、あなたの最善の策は、を使用しToolTipてフルサイズの画像をポップアップすることです。Image.Sourceの元の値のデータ バインディングには、わずかな問題がありますImage。これは、これらの値ToolTipが通常の UI ビジュアル ツリーの一部ではなく、独自のツリーに存在するためです。ただし、ToolTip.PlacementTargetプロパティを使用することでこれを克服できます。

<Image Name="Image" Source="/WpfApplication1;component/Images/Tulips.jpg" Height="100"
    Stretch="Uniform">
    <Image.ToolTip>
        <ToolTip DataContext="{Binding PlacementTarget, 
            RelativeSource={RelativeSource Self}}">
            <Border BorderBrush="Black" BorderThickness="1" Margin="5,7,5,5">
                <Image Source="{Binding Source}" Stretch="None" />
            </Border>
        </ToolTip>
    </Image.ToolTip>
</Image>

もちろん、両方のプロパティで同じものを使用することもできますが、コードを繰り返すのは好きではありません。Binding PathImage.Source

于 2014-06-29T15:41:28.003 に答える