2016-09-21 5 views
0

これまで何度もやったように、カスタムViewCellを作成してListViewで使用したいと思っています。しかし、カスタムViewCellでイメージを使用する必要があったのはこれが初めてのことであり、動作させることができません。Xamarin - カスタムリストビューでのイメージの使用ViewCell

だから私は私のモデル持っている:そして、私のページに、私はこのようなオブジェクトのリストを移入

Label titleLabel = new Label(); 
titleLabel.SetBinding(Label.TextProperty, "Title"); 

Label dateLabel = new Label(); 
dateLabel.SetBinding(Label.TextProperty, "Date"); 

Label statusLabel = new Label(); 
statusLabel.SetBinding(Label.TextProperty, "Status"); 

Image meetingImage = new Image(); 
meetingImage.SetBinding(Image.SourceProperty, "MeetingImage"); 

public class AttendedMeeting 
{ 
public string Title { get; set; } 
public string Date { get; set; } 
public string Status { get; set; } 
public Image MeetingImage { get; set;} 
} 

そして、私のカスタムViewCell内を

 ListView meetingsListView = new ListView(); 

     Image imageCheck = new Image(); 
     imageCheck.Source = "Check.png"; 

     Image imageLine = new Image(); 
     imageLine.Source = "Line.png"; 

     Image imageCircle = new Image(); 
     imageCircle.Source = "Circle.png"; 


     meetingsListView.ItemsSource = new AttendedMeeting[] { 
          new AttendedMeeting {Title = "Meeting 1", 
           Date="Monday - May 16th 2016", 
           Status="Verified", 
           MeetingImage=imageCheck 
               }, 
       new AttendedMeeting {Title = "Meeting 2", 
           Date="Monday - May 16th 2016", 
           Status="Verified", 
           MeetingImage=imageLine 
               }, 
       new AttendedMeeting {Title = "Meeting 3", 
           Date="Monday - May 16th 2016", 
           Status="Verified", 
           MeetingImage=imageCheck 
               }, 
       new AttendedMeeting {Title = "Meeting 4", 
           Date="Monday - May 16th 2016", 
           Status="Verified", 
           MeetingImage=imageCheck 
               } 
     }; 
     meetingsListView.ItemTemplate = new DataTemplate(typeof(CellMeetingsAttended)); 

イメージを除きすべてが素晴らしいです。ラベルはうまく表示されますが、画像は常に各項目で空白です。誰かが私が間違っていることを教えてもらえますか?私はまた、モデルではImage()ではなく文字列を使用してみましたが、文字列を使って画像ソースを設定しても不運でした。私はリソースが正しいことを確認した、私はListViewの外の画像としてそれらを表示することができます。

ありがとうございます。

答えて

2

あなたの問題は、あなたが直接、完全なImageオブジェクトをバインドしようとしているということである(意図したのですか?)文字列が予想される場合、代わりにこれを試してみてください。

new AttendedMeeting[] 

{ 
    new AttendedMeeting 
    { 
     Title = "Meeting 1", 
     Date = "Monday - May 16th 2016", 
     Status = "Verified", 
     MeetingImage = "Line.png"; //--Try this! 
    },... 

そして、あなたのモデルに:

public class AttendedMeeting 
{ 
    public string Title { get; set; } 
    public string Date { get; set; } 
    public string Status { get; set; } 
    //Change this: 
    public string MeetingImage { get; set;} 
} 
+1

ありがとうございます。これは私がソースを正しく設定していなかった別のエリアにつながってくれました。 – AS2012

関連する問題