If only some people remember that the official cash legal tender in Canada is the Canada dollar, no one should have a problem and it also shows some respect by the foreign visitor who utilizes it.
The last thing I want to do is flaunt US dollars to a merchant in Canada which I had to do a couple times in the past because I ran out of Canadian Dollars until I could get to a bank to re-up...I am glad most businesses in Canada accept the US dollar as a courtesy but they do not have to....I was appalled at a gift shop in Skagway witnessing a transaction taking place with a tourist who was digging out coins in a little pouch and placing it on the counter, as once that one Canadian nickel touched the counter surface while still counting her money - the clerk immediately flicks the coin right back at the woman like it was a slug (not setting it to the side or handing it back) and states Canadian coins are not accepted in a rudely manner.
As noted before, credit and debit cards are widely accepted and can be used over 99% of the time without a problem, but just keep in mind that once you proceed north of Ft. St. John or even north of Ft. Nelson - the electronic transaction infrastructure might not be so reliable that 1% or more of the time until you reach Alaska so it is best you have some form of onhand cash in these areas for essential purchases if you do not want to have any potential delays during travel, or having to wait it out until the system gets back online.
In my experiences for exchanging currency for onhand cash, banks in Canada, casinos, and sometimes Walmart (for breaking a US $100 and receiving Canadian change) would have the best exchange rates - can't say about credit cards because I do not own one for specific reasons but every exchange center I looked into always had the worst rates as I stayed away like the plague, even when banks in Whitehorse now limited the amount to exchange cash for non bank members and recommended I go to an exchange center to exchange a higher amount of cash and said no thanks.
Now I give a big thanks to the bank representative in Edmonton a few years back for opening a Canadian bank account for me as I can exchange an unlimited amount as I wish, the sky is the limit they say....Wish american banks were like the more versatile Canadian banks - they rock !