Adding a Button to a WPF DataGrid

后端 未结 3 1400
[愿得一人]
[愿得一人] 2020-12-13 03:49

I want to create a DataGrid control in WPF in which there is a button in the first cell of each row. Clicking this button will show RowDetailsTemplate

3条回答
  •  遥遥无期
    2020-12-13 04:17

    Check this out:

    XAML:

    
        
            
                
                    
                        
                    
                
            
        
    
    

    Method:

    private void ChangeText(object sender, RoutedEventArgs e)
    {
        DemoModel model = (sender as Button).DataContext as DemoModel;
        model.DynamicText = (new Random().Next(0, 100).ToString());
    }
    

    Class:

    class DemoModel : INotifyPropertyChanged
    {
        protected String _text;
        public String Text
        {
            get { return _text; }
            set { _text = value; RaisePropertyChanged("Text"); }
        }
    
        protected String _dynamicText;
        public String DynamicText
        {
            get { return _dynamicText; }
            set { _dynamicText = value; RaisePropertyChanged("DynamicText"); }
        }
    
        public event PropertyChangedEventHandler PropertyChanged;
        public void RaisePropertyChanged(String propertyName)
        {
            PropertyChangedEventHandler temp = PropertyChanged;
            if (temp != null)
            {
                temp(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
    

    Initialization Code:

    ObservableCollection models = new ObservableCollection();
    models.Add(new DemoModel() { Text = "Some Text #1." });
    models.Add(new DemoModel() { Text = "Some Text #2." });
    models.Add(new DemoModel() { Text = "Some Text #3." });
    models.Add(new DemoModel() { Text = "Some Text #4." });
    models.Add(new DemoModel() { Text = "Some Text #5." });
    DataGrid1.ItemsSource = models;
    

提交回复
热议问题