2015-11-03 34 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"; } 
} 
相关问题