2017-03-28 14 views
0

私はリストビューとボタンを含むUsercontrolを持っています。ボタンのリストビューに新しい項目を追加する方法uwpのをクリック

ボタンをクリックしたときにlistviewに自動的に追加される項目をリストしたいと思います。

は、あなたが繰り返しItemsSourceを設定する必要はありませんようにINotifyPropertyChangedを実装するために、あなたのPhotosGridクラスを変更する必要があなたに

public List<PhotosGrid> AddPicture = new List<PhotosGrid>(); 
public EditPhotosUserControl() 
     { 
      this.InitializeComponent(); 
      AddPicture.Add(new PhotosGrid { Picture = "/Assets/FamilyOfficeImg/car1.png", placeHolder = "Car Side View", Caption = "Side View" }); 
      AddPicture.Add(new PhotosGrid { Picture = "/Assets/FamilyOfficeImg/interior.png", placeHolder = "Car Interior View", Caption = "Interior View" }); 
      PhotosGridView.ItemsSource = AddPicture; 


     } 

     private void AddButton_Click(object sender, RoutedEventArgs e) 
     { 
      AddPicture.Add(new PhotosGrid { Picture = "", placeHolder = "Car Interior View", Caption = "Interior View" }); 
      PhotosGridView.ItemsSource = AddPicture; 


     } 
public class PhotosGrid 
    { 
     public string Picture { get; set; } 
     public string placeHolder { get; set; } 
     public string Caption { get; set; } 
    } 
+0

あなたは現在持っているものを共有できますか? – mindOfAi

+0

addButtonをクリックしたときに新しい項目を自動的に追加したい – rahul

答えて

0

に感謝します。

以下は私がそれを行う方法です。

public class PhotosGrid : INotifyPropertyChanged 
{ 
    private string _picture; 
    public string Picture 
    { 
     get { return _picture; } 
     set { _picture = value; OnPropertyChanged("Picture"); } 
    } 

    private string _placeHolder; 
    public string PlaceHolder 
    { 
     get { return _placeHolder; } 
     set { _placeHolder = value; OnPropertyChanged("PlaceHolder"); } 
    } 

    private string _caption; 
    public string Caption 
    { 
     get { return _caption; } 
     set { _caption = value; OnPropertyChanged("Caption"); } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
    protected void OnPropertyChanged(string name) 
    { 
     PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); 
    } 
} 

次に、あなたはINotifyPropertyChangedを利用することができるようにListからObservableCollectionにAddPicture関数を変更する必要があります。だからあなたのUserControl

public sealed partial class EditPhotosUserControl : UserControl 
{ 
    public ObservableCollection<PhotosGrid> AddPicture = new ObservableCollection<PhotosGrid>(); 
    public EditPhotosUserControl() 
    { 
     this.InitializeComponent(); 
     AddPicture.Add(new PhotosGrid { Picture = "", PlaceHolder = "Car Side View", Caption = "Side View" }); 
     AddPicture.Add(new PhotosGrid { Picture = "", PlaceHolder = "Car Interior View", Caption = "Interior View" }); 
     PhotosGridView.ItemsSource = AddPicture; 
    } 

    private void Button_Tapped(object sender, TappedRoutedEventArgs e) 
    { 
     AddPicture.Add(new PhotosGrid { Picture = "", PlaceHolder = "Car Interior View", Caption = "Interior View" }); 
    } 
} 

これはあなたのの世話をするだろう、私はaddButtonが

最終出力をクリックしたときに新しいアイテムが自動的に追加することにしたいです。

enter image description here

グッドラック。

関連する問題