2012-04-23 63 views
0

我有一个显示图像的列表框,该列表给出用户选项以使用默认图像编辑器打开文件。在列表中图像有一个工具提示,显示图像的更大版本。WPF图像工具提示锁定文件

我的问题是,当显示工具提示时,图像被锁定,并且如果用户试图编辑图像,当他试图保存时,他会得到访问共享违规。

的XAML是非常简单的

<Image x:Name="_thumbImage" Source="{Binding Path}" >     
          <Image.ToolTip> 
           <Grid> 
            <Image Source="{Binding Path,BindsDirectlyToSource=True,IsAsync=False}" Stretch="Fill" HorizontalAlignment="Center" Height="300" Width="300"></Image> 
           </Grid> 
          </Image.ToolTip> 

         </Image> 

任何人知道如何解决这一问题?

回答

0

您可以明确地创建一个BitmapImage,它将图像缓存在内存中并释放文件。请注意,不需要两次加载图像,所以我将它放入资源中。

<Grid> 
    <Grid.Resources> 
    <BitmapImage x:Key="Source" UriSource="{Binding Path}" /> 
    </Grid.Resources>      
    <Image x:Name="_thumbImage" Source="{StaticResource Source}"> 
    <Image.ToolTip> 
     <Grid> 
     <Image Source="{StaticResource Source}" Stretch="Fill" 
       HorizontalAlignment="Center" 
       Height="300" Width="300"> 
     </Image> 
     </Grid> 
    </Image.ToolTip> 
    </Image> 
</Grid>