小编Dar*_* Ng的帖子

如何配置BitmapImage缓存?

我正面临内存泄漏问题.泄漏来自这里:

public static BitmapSource BitmapImageFromFile(string filepath)
{
    BitmapImage bi = new BitmapImage();

    bi.BeginInit();
    bi.CacheOption = BitmapCacheOption.OnLoad; //here
    bi.CreateOptions = BitmapCreateOptions.IgnoreImageCache; //and here
    bi.UriSource = new Uri(filepath, UriKind.RelativeOrAbsolute);
    bi.EndInit();

    return bi;
}
Run Code Online (Sandbox Code Playgroud)

我有一个ScatterViewItem,包含一个Image,而源是BitmapImage这个函数.

实际上比这复杂得多,所以我不能简单地将一个Image放入其中.我也无法使用默认加载选项,因为图像文件可能会被删除,因此在删除过程中会遇到访问文件的一些权限问题.

当我关闭时会出现问题ScatterViewItem,而关闭后会关闭Image.但是,缓存的内存未清除.所以经过多次循环后,内存消耗量非常大.

我尝试image.Source=nullUnloaded功能期间设置,但它没有清除它.

如何在卸载期间正确清除内存?

c# wpf

6
推荐指数
1
解决办法
6603
查看次数

在XAML中的中心点旋转控制

这是我的网格

<Grid>
    <Grid.RenderTransform>
        <RotateTransform Angle="-180" />
    </Grid.RenderTransform>
</Grid>
Run Code Online (Sandbox Code Playgroud)

但是,它将处于错误的位置(我希望它在中心点上旋转).因此我需要做这样的事情:

<Grid.RenderTransform>
    <RotateTransform CenterX="{Binding ???}" CenterY="{Binding ???}" Angle="-180" />
</Grid.RenderTransform>
Run Code Online (Sandbox Code Playgroud)

我不知道如何在这里进行绑定(计算网格的宽度/ 2和高度/ 2).有人能伸出援助之手吗?:)

c# wpf xaml

0
推荐指数
1
解决办法
2337
查看次数

标签 统计

c# ×2

wpf ×2

xaml ×1