在C#中将字符串设置为图像源

时间:2010-12-30 23:18:21

标签: c# silverlight visual-studio-2010 windows-phone-7

我已经在我的Windows Phone 7应用程序中查找了几种方法来解决这个问题,但我似乎找不到任何可行的方法。令我困惑的是,我之前做过这样的事情并没有问题,所以我不确定为什么它不起作用。导致我这个问题的代码是这样的:
    if(appSettings.Contains(“image”))         myImage.Source =(string)appSettings [“image”];     其他         myImage.Source =“default.jpg”;

我得到的错误就是这个

  

无法将类型'string'隐式转换为'System.Windows.Media.ImageSource。

这让我感到困惑的原因是因为我做了这个Twitter app tutorial,你将图像源直接绑定到一个字符串。那么我该怎么办呢?

3 个答案:

答案 0 :(得分:15)

从代码中执行此操作时,您需要指定一个ImageSource而不是字符串:

Uri uri = new Uri("...", UriKind.Absolute); 
ImageSource imgSource = new BitmapImage(uri); 
myImage.Source = imgSource; 

答案 1 :(得分:2)

除非我找不到您正在查看的Scott帖子的正确部分,否则他将图像源绑定到网址。

Specificaly,

ImageSource = tweet.Element("user").Element("profile_image_url").Value

这就像

  

http://a0.twimg.com/profile_images/1158022545/mickn_normal.jpeg

答案 2 :(得分:0)

让我解释一下有关此主题的解决方案。我刚刚在设置中创建了一个设置。您在此处设置的每个配置也将显示在App.config文件中。

Settings

Settings2

在设置中成功配置映像的路径后,只需在MainWindows.xaml.cs文件中获取源即可。

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        string ImagePath = Properties.Settings.Default.ImagePath;
        Uri resourceUri = new Uri(@ImagePath,UriKind.RelativeOrAbsolute);
        MainImage.Source = new BitmapImage(resourceUri);            
    }
}

我希望这可以对您有所帮助。