Вы можете установить высоту и ширину окна холста, чтобы соответствовать ширине и высоте холста. Вы хотите делать это каждый раз, когда холст меняет форму, что можно сделать с помощью привязки к событию <Configure>
:
import tkinter as tk
def onCanvasConfigure(e):
canvas.itemconfig('frame', height=canvas.winfo_height(), width=canvas.winfo_width())
root=tk.Tk()
canvas = tk.Canvas(root, background="blue")
frame = tk.Frame(canvas, background="red")
canvas.pack(expand=True, fill="both")
canvas.create_window((0,0), window=frame, anchor="nw", tags="frame")
canvas.bind("<Configure>", onCanvasConfigure)
root.mainloop()