這是我第一次在XAML中使用圖像作爲資源。我宣佈一個Image
類型的資源我Window.Resources
節點內,通過以下方式:XAML:如何使用Resources資源節點中聲明的<Image>類型資源?
<Window.Resources>
<Image x:Key="MyIcon" Source="pack://application:,,,/Resources/Images/myicon.png"/>
</Window.Resources>
如何使用在XAML代碼的其他部分這一資源?
必須是微不足道的,但我沒有找到任何有關如何使用Image
類型資源的信息。
顯然,使用資源爲Image
控制的Source
屬性不起作用:
<WrapPanel Background="Transparent" Height="50">
<Image Source="{StaticResource MyIcon}"/>
</WrapPanel>
的代碼,同時設置Source
屬性,具有以下InnerException
上述拋出一個異常:
{"'System.Windows.Controls.Image' is not a valid value for property 'Source'."}
是否使用'BitmapImage'作爲資源類型通常被認爲是一個更好的做法?如果是這樣,你可以簡單地解釋它,我會將你的答案設置爲解決方案。 –
這是更好的,因爲圖像是一個UIElement(而BitmapImage不是)。這使得它很難在多個地方使用,因爲它不能是多個父元素的子元素。您至少必須設置'x:Shared =「False」' – Clemens
除此之外,當您使用URI屬性的URI字符串創建Image控件時,該字符串會自動轉換爲BitmapFrame,類似於BitmapImage的類都來自BitmapSource)。所以你會創建一個Image和一個BitmapFrame,而不僅僅是一個BitmapImage。 – Clemens