删除XAML使用的图像文件

Fro*_*rud 6 wpf image

我正在尝试删除WPF中的图像文件,但WPF会锁定该文件.

    <Image Source="C:\person.gif" x:Name="PersonImage">
        <Image.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Delete..." x:Name="DeletePersonImageMenuItem" Click="DeletePersonImageMenuItem_Click"/>
            </ContextMenu>
        </Image.ContextMenu>
    </Image>
Run Code Online (Sandbox Code Playgroud)

Click处理程序看起来像这样:

    private void DeletePersonImageMenuItem_Click(object sender, RoutedEventArgs e)
    {
        System.IO.File.Delete(@"C:\person.gif");
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试删除文件时,它被锁定,无法删除.

有关如何删除文件的任何提示?

Ken*_*art 10

我的应用程序Intuipic通过使用释放图像资源的自定义转换器处理此问题.请参阅此处的代码.


Asi*_*jad 1

首先将其从 PersonImage 控件中删除,然后删除该图像。希望这会有所帮助。由于您已分配给源中的控件,因此将其删除而不取消分配控制源。

PersonImage.Source = null; 
System.IO.File.Delete(@"C:\person.gif"); 
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助。

  • 不幸的是这没有帮助。 (10认同)