Для изменения размера Frame1
при изменении размера окна вам нужно
Frame1.grid(sticky="news")
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
или
Frame1.pack(fill="both", expand=True)
Минимальный рабочий код
import tkinter as tk
# --- functions ---
def update_scrollregion(event):
canvas.configure(scrollregion=canvas.bbox("all"))
# --- main ---
root = tk.Tk()
#root.rowconfigure(0, weight=1)
#root.columnconfigure(0, weight=1)
Frame1 = tk.Frame(root, bg="grey")
#Frame1.grid(sticky="news")
Frame1.pack(fill="both", expand=True)
Frame1.rowconfigure(0, weight=1)
Frame1.columnconfigure(0, weight=1)
canvas = tk.Canvas(Frame1, bg="grey")
canvas.grid(row=0, column=0, sticky="nsew")
canvasFrame = tk.Frame(canvas, bg="grey")
canvas.create_window(0, 0, window=canvasFrame, anchor='nw')
scrollbar = tk.Scrollbar(Frame1, orient="vertical")
scrollbar.config(command=canvas.yview)
canvas.config(yscrollcommand=scrollbar.set)
scrollbar.grid(row=0, column=1, sticky="ns")
canvasFrame.bind("<Configure>", update_scrollregion)
root.mainloop()