gpt4 book ai didi

wpf - 为什么将 BeginInit() 与简单的 BitmapImages 一起使用?

转载 作者:行者123 更新时间:2023-12-03 18:26:16 27 4
gpt4 key购买 nike

我在网上看到很多这样的:

var b = new BitmapImage();
b.BeginInit();
b.UriSource = new Uri(myPath, UriKind.RelativeOrAbsolute);
b.EndInit();
myImage.Source = b;

现在,就我而言,我会首先选择更紧凑的版本:
myImage.Source = new BitmapImage(new Uri(myPath, UriKind.RelativeOrAbsolute));

有什么理由我应该写第一个而不是第二个?

在这种情况下,“BeginInit()”和“EndInit()”究竟是做什么的,在第二个版本中不会这样做?

我猜“没什么”,但话说回来,我有足够的经验告诉我WPF比我想象的要微妙得多,这并不奇怪......

编辑:明确地说,我的观点并不是我绝对想节省 4 行代码。我更想知道这两种方法究竟做了什么,以及应该(或不应该)调用它们的原因。

最佳答案

我认为他们这样做,只是为了与其他代码保持一致。 BitmapImage 有几个属性,在加载图像之前只需要设置一次。例如 DecodePixelHeightDecodePixelWidth .
为了正确设置它们,您必须使用 BeginInit道路。当然,当有人展示示例时,他们只是使用他们习惯的相同语法,并且只删除不相关属性的行。
如果您不需要设置它们中的任何一个,您可以使用简短的语法。

关于wpf - 为什么将 BeginInit() 与简单的 BitmapImages 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com