处理在xaml中创建的控件

时间:2013-12-18 12:27:50

标签: c# xaml windows-runtime

如何通过WinRT中的XAML代码创建控件?我创建了ImageSlideShow UserControl,它使用SempahoreSlimDispatcherTimer(我使用timer.Tick事件)。我应该将.Unloaded事件处理程序添加到ImageSlideShow用户控件或实现IDisposable(xaml负责调用.Dispose吗?)来释放资源和事件处理程序 - 或者我是否需要手动处理它,就像在代码中创建的控件一样 - 后面?

1 个答案:

答案 0 :(得分:4)

您应该使用Unloaded UserControl事件。在解开所有事件的同时,取消<Image />&amp;如果您正在使用任何集合控件,请将ItemsSource设置为null

如何使图像无效?

BitmapImage bitmapImage = image.Source as BitmapImage;
bitmapImage.UriSource = null;
image.Source = null;

此处image<Image />

的对象

同时实现IDisposable接口。然后,您需要浏览完整的UI元素树,搜索<Image />并在所有这些树上调用Dispose

有关详细信息,请查看此内容(也适用于W8):How to debug most common memory leaks on WP8