我正在做一個UWP應用程序,而且我很難用UWP應用程序加載和綁定圖像,應該怎麼做?如何在UWP應用程序中加載和綁定可移植庫中包含的圖像?
我現在的結構:
MyApp.Model:
|
|-Models
|-MyModel.cs
|-MyModelContainer.cs
|-Resources
|-image1.png
|-image2.png
|-image3.png
我的XAML是在另一個項目(10勝通用的應用程序,並參考該便攜式類庫。)
MyModelContainer
僅僅是實例化一個IEnumerable<MyModel>
一個單獨容器。這裏是他們的內容:
public class MyModel{
public String Name{get;set;}
public ??????? Icon {get;set;}
}
public static class MyModelContainer{
private static IEnumerable<MyModel> _myModelList;
public static IEnumerable<MyModel> MyModelList{get{
if(_myModelList==null){
Initialize();
}
return _myModelList;
}}
private static Initialize(){
_myModelList = new List<MyModel>() {
new MyModel(){
Name = "Model one"
Icon = ???????
}
};
}
}
在我的XAML一些地方我收到的MyModel
列表,在ItemsControl
:
<ItemsControl ItemsSource="{Binding MyModelListProperty}" >
<ItemsControl.ItemsPanel >
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate >
<Button Margin="10" MinHeight="50" MinWidth="40" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Image Source="{Binding Icon}" ></Image>
<TextBlock Grid.Row="1" Text="{Binding Name}" ></TextBlock>
</Grid>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>^
我的問題:
- 是什麼類型屬性,我應該用來綁定圖像(我想它是
BitmapImage
? - 我應該如何創建此屬性?我trie d
Icon = new BitmapImage(new Uri("ms-appx://MyApp.Model/Resources/image1.png"))
沒有任何運氣,我沒有加載圖像(並且ImageFailed事件被觸發)。 - 我該如何將此屬性綁定到
<Image/>
?
這是一個UWP(Windows 10)應用程序,而不是WPF,不是win8。
非常感謝。
編輯
這裏是文件夾結構
MyApp == AstroApp
MyApp.Model == AstroApp.Model
MyModel = AstroSign
MyModelContainer = AstroManager
嘗試此 –
Archana
@LovetoCode以及如何創建ImageUrl?它是一個字符串或一個URI,它是什麼格式? – J4N
它在字符串中。或者只是給URL來源屬性。 BitmapImage將自動創建。 。讓圖標爲「ms-appx:///MyApp.Model/Resources/image1.png」 –
Archana