gpt4 book ai didi

silverlight - 添加图像 F#

转载 作者:行者123 更新时间:2023-12-01 11:57:50 26 4
gpt4 key购买 nike

我有一个堆栈面板,我想向其中动态添加一些图标。

如果我将一个 TextBlock 添加到堆栈面板,它会完美地工作:

// assuming stackPanel is my stack panel
let text = new TextBlock()
text.Text <- "Test"
stackPanel.Children.add(text)

然而,我的目标是添加图像,但似乎无法解析图像

let getImageSource(imagePath) = 
let uri = new Uri(imagePath, UriKind.Relative)
new BitmapImage(uri);

let icon = new Image()
icon.Source <- getImageSource("images/fileIcon/icon.gif")

stackPanel.Children.Add(icon) // this doesnt work

现在当我这样做的时候:

let icon = new Image()
icon.Source <- getImageSource("images/fileIcon/icon.gif")

stackPanel.Children.Add(icon)

let text = new TextBlock()
text.Text <- "Test"
stackPanel.Children.add(text)

我可以看到文本之间有一个空白区域,就好像那里有一个空白图像一样。所以我猜我解析图像路径的方式有问题 - 但我不确定为什么。

想法?

谢谢!

最佳答案

如果您的 gif 的构建操作是资源,那么解决它的正确方法是 /SilverlightApplication1;component/path/to/file.gif。这里 SilverlightApplication1 是您的 silverlight 应用程序的名称

如果 Build Action 是 Content,那么它的正确地址是 /path/to/file.gif,在创建 BitmapImage 时始终以斜线开头。

查看 Silverlight 2: Demystifying URI references for app resources 获取更多信息。

为了更轻松地调试图像加载问题, Hook 到 BitmapImage.ImageFailed 事件并查看会出现哪种错误。

最后一点,AFAIK Silverlight 不支持 GIF 格式。您可以改用 PNG。

关于silverlight - 添加图像 F#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5247770/

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