title: Resizing Canvas with Scrollbar dynamically by using the layout_manager grid
body: <p>I built a canvas and I don't know why, I wont make it to resize with the frame.
  Either something obvious is missing and by craftig all the stuff inside I lost my mind or something weird happens and I dont get it. Anyway here is my code, hope it can be clearify.</p>
  <pre><code>import tkinter as tk
  
  root = tk.Tk()
  
  class my_figure(tk.Frame):
      def __init__(self, master,
                   width=450,height=590):
          tk.Frame.__init__(self, master)
          self.master = master
          self.width=width
          self.bind(&quot;&lt;Configure&gt;&quot;, self.update)
  
          #DownFrame
          self.body = tk.Frame(self, width=width,height=height,relief='sunken',bd=2)
          self.vscrbar = tk.Scrollbar(self.body)
          self.hscrbar = tk.Scrollbar(self.body,orient=tk.HORIZONTAL)
          self.Display = tk.Canvas(self.body, width=width,height=height,
                                   background='#f0f0f0',highlightthickness=0,
                                   yscrollcommand=self.vscrbar.set,
                                   xscrollcommand=self.hscrbar.set)
          
          self.vscrbar.config(command=self.Display.yview)
          self.hscrbar.config(command=self.Display.xview)
  
          self.body.grid(column=0,row=1, sticky='nswe')
          self.vscrbar.grid(column=1,sticky='ns')
          self.hscrbar.grid(row=1,sticky='we')
          self.Display.grid(column=0,row=0,
                            sticky='nswe')
  
          
          self.grid_rowconfigure(1, weight=1)
          self.columnconfigure(0, weight=1)
  
      def update(self, event):
          print(event.widget.winfo_width())
  ##        self.Header.config(width=event.width)
  ##        self.Button.config(width=event.width)
  ##        self.body.config(width=event.width)
  ##        self.Display.config(width=event.width)
          
  
          
  figure = my_figure(root)
  figure.grid(column=0, row=0)
  root.grid_columnconfigure(0, weight=1)
  root.grid_rowconfigure(0,weight=1)
  
  root.mainloop()
  </code></pre>