2012-11-01 297 views
0

我正在製作一個windows8app商店應用程序。我花了很多時間與這個問題:XAML,將列表綁定到列表框

我有了視頻URI和縮略圖URI Project對象:

公共類視頻 { 公共字符串VideoUrl {獲得;組; } public Uri ThumbnailUrl {get;組; }}

public class Project 
{ 
    public List<Video> ProjectVideos { get; set; } 

    public Project() 
    { 

     string projectVideosUrl = "http://ProjectStatus1-11-07.ism/manifest"; 
     string thumbnail = "https://ProjectStatus1.jpg?st=2013-07-11%3A34%3A37Z"; 
     Uri thumbnailUrl = new Uri(thumbnail); 

     var video = new Video 
     { 
      VideoUrl = projectVideosUrl , 
      ThumbnailUrl = thumbnailUrl 
     }; 

     ProjectVideos = new List<Video>(); 
     ProjectVideos .Add(video); 
     ProjectVideos .Add(video); 

    } 

我要綁定的項目視頻到一個列表框以這樣的方式,對於在項目視頻列表中的每個項目,要進行縮略圖的超過一個按鈕的圖像。並通過點擊相應的視頻按鈕來播放。

這是列表框:

<ListBox Name="list" Height="140" Margin="-2,-2,-5,-8" Background="#CC2B1717" ItemsSource="{Binding Project.ProjectVideos }"> 
        <ListBox.ItemsPanel> 
         <ItemsPanelTemplate> 
          <VirtualizingStackPanel Orientation="Horizontal" /> 
         </ItemsPanelTemplate> 
        </ListBox.ItemsPanel> 

        <ListBox.ItemTemplate > 
          <DataTemplate> 
           <Border Name="stBorder" Width="120" Height="110" Background="#FFDC2D2D" CornerRadius="10" HorizontalAlignment="Center" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" > 
            <Canvas > 
             <Image Name="test" > 
              <Image.Source> 
               <BitmapImage UriSource="{Binding Path = Project.ProjectVideos .ThumbnailUrl}" /> 
              </Image.Source> 
             </Image> 

             <Button Click="PlayVideo_Button_Click" Height="30" Width="30" HorizontalAlignment="Center" Canvas.Top="44" Canvas.Left="44" > 
              <Button.Template> 
               <ControlTemplate> 
                <Image Source="ms-appx:///Assets/playbutton.png"/> 
               </ControlTemplate> 
              </Button.Template> 
             </Button> 
            </Canvas> 
           </Border> 
          </DataTemplate> 
         </ListBox.ItemTemplate> 
</listbox> 

當我運行的代碼,我看到每個項目與該按鈕在它的圖像製作。但我沒有看到圖像縮略圖。看起來,圖像元素與ThumbnailUrl的綁定不正確。

有誰知道我可以如何將圖像綁定到「ThumbnailUrl」?

這是後面的代碼:

public Project ViewModel { get; set; }  
protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) 
    { 
     ViewModel = navigationParameter as Project; 

     DataContext = ViewModel; 
ViewModel.Page = this; 
    } 
+0

回答

0

我只看到什麼是錯誤的: 這是溶液:

<Image Name="test" Width="120" Height="90" Canvas.Top="10" > 
              <Image.Source> 
               <BitmapImage UriSource="{Binding ThumbnailUrl}" /> 
              </Image.Source> 
             </Image>