我有一个堆栈面板,我想动态添加一些图标.
如果我将一个TextBlock添加到堆栈面板,它可以完美地工作:
// assuming stackPanel is my stack panel
let text = new TextBlock()
text.Text <- "Test"
stackPanel.Children.add(text)
Run Code Online (Sandbox Code Playgroud)
但是,我的目标是添加图像,但似乎无法解析图像
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
Run Code Online (Sandbox Code Playgroud)
现在我做的时候:
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)
Run Code Online (Sandbox Code Playgroud)
我可以看到文本之间有一个空白区域,好像那里有一个空图像.所以我的猜测是我解决图像路径的方式有问题 - 但我不确定原因.
思考?
谢谢!
如果你的gif的Build Action是Resource,那么解决它的正确方法是/SilverlightApplication1;component/path/to/file.gif.SilverlightApplication1是Silverlight应用程序的名称
如果它的构建操作是内容,那么它的正确地址是/path/to/file.gif,在创建时始终带有前导斜杠BitmapImage.
查看Silverlight 2:揭示应用程序资源的URI引用,以获取更多信息.
为了更容易调试图像加载问题,请挂钩BitmapImage.ImageFailed事件并查看出现的错误类型.
最后一点,AFAIK Silverlight不支持GIF格式.您可以改用PNG.
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |