Do you mind explaining your requirement around wrap panel. Because for most of the situations you might be able to make with a combination of VirtualizedStackPanel vertically and fixed items inside each row. I have done this way in many apps, because making a wrap panel virtualizing is hard compared to what easy performance and flexibility I can get from this small work around. Yes orientation can easily trigger for 'number of items per row' change to compensate the width changes.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…