2009-09-29 33 views

回答

0

我使用WPF,而不是Silverlight(但!),但它似乎是'核心',它應該適用於WPF/Silverlight場景。但我可能是錯的! :)

你看過使用DataTrigger?這將允許您根據DataContext中的數據值設置圖像的來源。

此示例假設我們已經設置了一個名爲「Frame」的屬性的DataContext。 Image.Source基於Frame的值設置。

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <StackPanel> 
     <Image> 
      <Image.Style> 
       <Style> 
        <!-- style the image source based on some property in our data context, though 
        replace static paths with pack URL--> 
        <Style.Triggers> 
         <DataTrigger Binding="{Binding Frame}" Value="1"> 
          <Setter Property="Image.Source" Value="C:\dev\images\sample\image1.jpg"/> 
         </DataTrigger> 
         <DataTrigger Binding="{Binding Frame}" Value="2"> 
          <Setter Property="Image.Source" Value="C:\dev\images\sample\image2.jpg"/> 
         </DataTrigger> 
        </Style.Triggers> 
       </Style> 
      </Image.Style> 
     </Image> 
    </StackPanel> 
</Window> 

而不是使用靜態文件路徑引用圖像,您將需要用pack:// uri替換。有關更多信息,請參閱Refer to Resources in WPF With a Pack URI

相關問題