我有一个可视化画笔,我想将视觉设置为一个元素。我的视觉笔刷的当前示例:
add_filters( 'post_link', 'my_add_qvar', 10, 1);
function my_add_qvar($permalink){
return add_query_arg('c','c_value',$permalink);
}
但是,我想更改Visual中的值,以便在不同的时间,它可以显示不同控件的视觉效果。我的第一个想法是:
{{1}}
但首先不允许这样做,其次我的viewmodel需要知道我的元素的名称。有没有办法在MVVM中执行此操作,以便我可以随意将视觉更改为另一个元素?
答案 0 :(得分:0)
这取决于推动视觉变化的实际逻辑。例如,如果它是某种与业务逻辑相关的状态,您可以在视图模型中公开State
属性并使用转换器绑定它。
如果它不依赖于BL状态,那么MVVM明智的做法是从后面的视图代码修改视觉,因为它被认为是纯粹的视图逻辑:
<强> XAML
<VisualBrush x:Name="myBrush" Viewport="0,0,0.5,0.5" />
代码隐藏
myBrush.Visual = myPanel;