将 Window.Effect 绑定到 ViewModel

Bind Window.Effect to ViewModel

我想知道如何将 Window.Effect 绑定到 ViewModel 以便它可以是 ViewModel 控制 window 的样子。

我知道我们可以 一个接一个 绑定属性,如下所示;然而,这并不是真正的绑定 Effect 而是绑定到 Effect 的设置,这不是我感兴趣的。

<Window.Effect>
     <BlurEffect Radius="{Binding UIElementEffect.Radius}" />
</Window.Effect>

为什么不这样绑定:

<Window
    ...
    Effect ="{Binding WindowEffect}">

?

至于"if it's a bad idea to put WPF/UI-specific object into ViewModel"等"best-practices"和模式我个人有个规矩:我问自己:
- 如果我违反这个最佳实践,我会遇到什么真正的问题(顺便说一句,最佳实践总是对每个人都是最好的吗?;))?我所说的真实是指真实的——而不是某人在一本书或某个论坛上写的理论问题。这些问题是否适用于我的特定项目?这个问题真正发生的可能性有多大?缺点(实际上可能永远不会出现的问题)是否超过违反 "best-practice" 的优点(例如简单性、使用代码的舒适性等)?
我不是在建议违反最佳实践,我是在建议不要盲目地遵循它们。