2015-11-03 46 views
1

我有一個視圖,它使用綁定來顯示一些圖像。它在運行時工作正常,但我無法在設計模式下看到圖像(我使用假的ViewModel作爲DataContext)。在設計器中看不到圖像

public class DesignTimeData 
{ 
    public string ImageSource { get { return "/WpfApplication1;component/banner.png"; } } 
} 

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     mc:Ignorable="d" 
     xmlns:local="clr-namespace:WpfApplication1" 
     d:DataContext="{d:DesignInstance local:DesignTimeData, IsDesignTimeCreatable=True}" 
     Title="MainWindow" Height="350" Width="525"> 
    <StackPanel> 
     <Image Source="{Binding ImageSource}" /> 
    </StackPanel> 
</Window> 

什麼奇怪的是,這不起作用:

<Image Source="{Binding ImageSource}" /> 

但這:

<Control> 
    <Control.Template> 
     <ControlTemplate> 
      <Image Source="{Binding ImageSource}" /> 
     </ControlTemplate> 
    </Control.Template> 
</Control> 

我缺少的東西? 這是一個錯誤是VS2010的設計師? 有什麼我可以做的,以解決這個問題(除了使用醜陋的ControlTemplate詭計)?

回答

3

設計師似乎有一個問題,部分WPF Pack URI。

無論使用的是全Resource File Pack URI

public string ImageSource 
{ 
    get { return "pack://application:,,,/WpfApplication1;component/banner.png"; } 
} 

或者只是圖像文件名:

public string ImageSource 
{ 
    get { return "banner.png"; } 
}