使用 RenderTransform (TranslateTransform) 製作位移動畫時,控件獲得焦點後觸發動畫,FocusVisualStyle 虛線框不會跟隨移動,停留在原位。
RenderTransformOrigin="0.5,0.5" 與 TranslateTransform。RenderTransform.X/Y 位移 100px。


FocusVisualStyle 渲染於 Adorner Layer,不屬於控件視覺樹一部分。RenderTransform 僅影響控件自身渲染,不傳遞至 Adorner Layer。<Button FocusVisualStyle="{x:Null}" .../>
影響佈局,效能較差,但焦點框同步移動。
private void OnCurrentTimeInvalidated(object sender, EventArgs e) {
AdornerLayer.GetAdornerLayer(button).Update();
}
於 Storyboard 啟動時掛載事件,動畫每幀強制刷新 Adorner Layer。少量控件效能可接受。
RenderTransform 為純渲染層變換,不影響 Adorner Layer。動畫與焦點視覺結合時,需手動同步 Adorner。WPF 4.0 未修復此行為,開發者需自行處理。