2014-11-04 54 views
0

我正在開發Windows Phone 8.1應用程序。如果我在BitmapIcon控制設置UriSource像:XAML - Dynamics在BitmapIcon中設置UriSource

<BitmapIcon Width="35" Height="35" Margin="0" RequestedTheme="Dark" UriSource="/Assets/Main/Operations/appbar.information.png"> 

一切工作正常,但如果我想將它設置動態我見猶空場。

我正在使用MVVM Light。我的模型看起來像:

... 
    private string _icon; 
    public string Icon 
    { 
     get { return _icon; } 
     set { _icon = value; RaisePropertyChanged("Icon"); } 
    } 
    ... 

接下來我創建對象,添加到列表並在此基礎上創建可觀察集合。其他領域的正常工作,但不是這樣的:

<BitmapIcon Width="25" Height="25" Margin="0" UriSource="{Binding Icon, Mode=TwoWay}"/> 

回答

1

BitmapIcon.UriSourceUristring型。你應該使用這樣的:

private Uri _icon; 
public Uri Icon 
{ 
    get { return _icon; } 
    set { _icon = value; RaisePropertyChanged("Icon"); } 
} 

然後在您的視圖模型,你會這樣設置圖標:

Icon = new Uri("ms-appx:///Assets/Main/Operations/appbar.information.png"); 

This answer解釋了爲何使用在XAML字符串的作品,但不是在C#代碼。