2013-11-24 53 views
1

當我嘗試將XAML中的圖像綁定到位於其後的代碼中的bitmapImage對象時,會給我 '當前上下文中不存在'錯誤。當前上下文中不存在錯誤

代碼

BitmapImage bitmapImage = new BitmapImage(); 
PhotoSource.Source = bitmapImage; 
ObservableCollection<BitmapImage> Photos = new ObservableCollection<BitmapImage>(); 
PhotoList.ItemsSource = Photos; 

XAML

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,5,12,-10"> 
     <ProgressBar x:Name="progressBar" HorizontalAlignment="Left" Height="40" Margin="0,0,0,0" VerticalAlignment="Top" Width="436" Visibility="Collapsed" IsIndeterminate="True"/> 
     <ListBox x:Name="PhotoList" 
       toolkit:TiltEffect.IsTiltEnabled="True" 
       SelectionChanged="PhotoList_SelectionChange" 
       HorizontalAlignment="Left" Height="500" Margin="0,40,0,0" VerticalAlignment="Top" Width="450"> 
      <ListBox.ItemsPanel> 
       <ItemsPanelTemplate> 
        <toolkit:WrapPanel 
         HorizontalAlignment="Left" 
         Margin="0,0,0,0" 
         VerticalAlignment="Top" 
        /> 
       </ItemsPanelTemplate> 
      </ListBox.ItemsPanel> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Margin="5"> 
         <StackPanel Orientation="Vertical"> 
          **<Image delay:LowProfileImageLoader.UriSource="{Binding PhotoSource}" Width="99" Height="80"/>** 
         </StackPanel> 
        </StackPanel> 

       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </Grid> 
+0

您需要創建這樣的屬性。 – SLaks

+0

錯誤是不言自明的 - 'PhotoSource'不存在。 –

+0

雅,但它確實: LivingThing

回答

2

您需要:

  • 創建要綁定到某個類。例如:

    private class Photo { 
        public string PhotoSource {get; set;} 
    } 
    
  • 創建要綁定的集合。例如,List<Photo> Photos = new List<Photo>();

  • 將一些數據添加到列表中。例如,Photos.Add(new Photo { PhotoSource = yourBitmap });
  • 將其綁定到您的列表。 PhotoList.ItemsSource = Photos;
1

首先,確保PhotoSource公共財產,因爲WPF不承認別的。

其次,確保您正確設置DataContext屬性。如果屬性是窗口的代碼的一部分的背後,你可以通過設置線路設置DataContext到窗口:

DataContext="{Binding RelativeSource={RelativeSource self}}" 

在XAML窗口申報,所以它看起來是這樣的:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525" 
    DataContext="{Binding RelativeSource={RelativeSource self}}"> 
    <!-- Your Code here --> 
</window> 
相關問題