사용자 하드 드라이브의 특정 경로 아래에 각 폴더에 대한 버튼이있는 wpf 응용 프로그램이 있습니다. 각 폴더에는 단추에 표시된 이미지와 단추를 클릭 할 때 실행되는 파일이 있습니다. 여기에 버튼을 위해 사용하고있는 템플릿은 다음과 같습니다버튼으로 사용중인 이미지를 삭제할 수 없습니다.
<DataTemplate x:Key="ProgramItemDataTemplate">
<Button Style="{StaticResource ButtonStyle}" Click="Program_Click" Tag="{Binding Key}">
<Button.ContextMenu>
<ContextMenu>
<MenuItem x:Name="DeleteMenuItem" Click="DeleteMenuItem_Click" Header="Delete" Tag="{Binding Key}" />
</ContextMenu>
</Button.ContextMenu>
<StackPanel>
<Image Source="{Binding Value}" MaxWidth="200" MaxHeight="175"></Image>
<TextBlock Text="{Binding Key,Converter={StaticResource PathToNameConverter2}}" TextWrapping="Wrap" TextAlignment="Center" />
</StackPanel>
</Button>
</DataTemplate>
바인딩 값은 이미지의 경로와 바인딩 키는 버튼을 클릭 할 때 실행되는 다른 파일의 경로입니다. 문제는 DeleteMenuItem 함수입니다. 이미지가 들어있는 폴더를 삭제하고 싶지만 이미지 파일이 버튼에 사용 중이므로 절 보내지 않을 것입니다. 폴더를 안전하게 지울 수 있도록 응용 프로그램에서 이미지를 사용하지 못하게하려면 어떻게해야합니까?
당신이 어느 곳 application.When에서 개체가 여기에 당신이 GC 릴리스하기 전에 폴더를 삭제하려고하는 문제 자자 어떤 변수 GC 자료에 의해 참조되지 않는 이미지를 참조하지 않는 있는지 확인 영상. – maniacneron