2012-02-17 10 views
0

私は次のオブジェクトのインスタンスをバインドする必要があるコントロールを持っています。ただし、画像はコントロールに表示されません。何が間違っているのか教えてください。ContentTemplateを使用してバインド中に画像が表示されない

public class DataNeeded 
    { 
     public string Name { get; set; } 
     public Image AdImage { get; set; } 




    } 


private AdsCollection strs = new AdsCollection(); 

    public AdsCollection ImagePaths 
    { 
     get 
     { 
      DataNeeded dataNeed=new DataNeeded(); 
      dataNeed.Name = "Banner1"; 
      Image adimage = new Image(); 
      adimage.Source = new BitmapImage(new Uri(@"G:\adimages\pngs\banner1.png")); 
      dataNeed.AdImage = adimage; 
      strs.Add(dataNeed); 

      DataNeeded dataNeed2 = new DataNeeded(); 
      dataNeed2.Name = "Banner2"; 
      Image adimage2 = new Image(); 
      adimage2.Source = new BitmapImage(new Uri(@"G:\adimages\pngs\banner2.png")); 
      dataNeed2.AdImage = adimage2; 
      strs.Add(dataNeed2); 

      DataNeeded dataNeed3 = new DataNeeded(); 
      dataNeed3.Name = "Banner3"; 
      Image adimage3 = new Image(); 
      adimage3.Source = new BitmapImage(new Uri(@"G:\adimages\pngs\banner2.png")); 
      dataNeed3.AdImage = adimage3; 
      strs.Add(dataNeed3); 

      //strs.Add(new BitmapImage(new Uri(@"G:\adimages\pngs\banner2.png"))); 
      //strs.Add(new BitmapImage(new Uri(@"G:\adimages\pngs\banner3.png"))); 
      //strs.Add(new BitmapImage(new Uri(@"G:\adimages\pngs\banner4.png"))); 

      return strs; 

     } 

コードから

<telerik:RadTransitionControl x:Name="radControl" adRotator:AdRotatorExtensions.ItemChangeDelay="0:0:3" 
            adRotator:AdRotatorExtensions.CurrentSelectedIndex="0" 
           adRotator:AdRotatorExtensions.IndexChanged="{Binding TopItemCommand, Mode=OneWay}" 
           adRotator:AdRotatorExtensions.ItemsSource="{Binding Path=ImagePaths}" 
            VerticalAlignment="Center" 
            HorizontalAlignment="Center" Width="650"> 
     <telerik:RadTransitionControl.Transition> 
      <telerik:MotionBlurredZoomTransition /> 
     </telerik:RadTransitionControl.Transition> 

    <telerik:RadTransitionControl.ContentTemplate> 
     <DataTemplate> 
      <Image Source="{Binding Path=AdImage}" /> 
     </DataTemplate> 
    </telerik:RadTransitionControl.ContentTemplate> 

</telerik:RadTransitionControl> 
+0

System.Windows.Controls.ImageまたはSystem.Drawing.Imageにバインドしていますか? – oopbase

+0

System.Windows.Controls.Image – logeeks

答えて

0

を次のようにコントロールのためのXAMLがある私はあなたのViewModelオブジェクトのイメージコントロールを持っていて、ImageコントロールにContentTemplateにImageコントロールをバインドすることがわかりますあなたのデータオブジェクトからは正しくありません。 contentTemplateのImageコントロールをContentPresenter(Imageコントロールを表示できます)に置き換えるか、ImageコントロールをImageオブジェクトのSourceプロパティにバインドするか、データオブジェクト全体を変更することができます。

私の意見では最良の解決策は、次のようにDataNeededクラスを変更することです:

public class DataNeeded 
{ 
    public string Name { get; set; } 
    public ImageSource AdImage { get; set; } 
} 

・ホープ、このことができます。

関連する問題