我在DockManager上动态创建绑定,以便在ViewModel中拥有一个属性,该属性告诉我视图/ViewModel是否可见。
我已经做了一些测试,就像我对其他绑定所做的一样,但是在这个特定的例子中,我需要从视图绑定到ViewModel,而不是相反
我的代码看起来像
VisibilityToBooleanConverter converter = new VisibilityToBooleanConverter();
var myBinding = new Binding
{
Source = pane.Content, //this is the view
Path = new PropertyPath("Visibility"),
Mode = BindingMode.OneWay,
UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
Converter = converter
};
BindingOperations.SetBinding(pane.DataContext,) //<-- how do I tell that I've to bind to a ViewModel?
//BindingOperations.SetBinding((UIElement)pane.Content, UIElement.VisibilityProperty, myBinding); //this was the test I've done but with no luck
有什么建议吗?
更新#1
我试着更好地解释我的场景,正如我所建议的那样。
我有一个DockManager,显示不同的视图。其中一些视图已经实时更新,这是在高频率。这是无用的,他们更新,如果他们是不可见的。
所以首先我试着绑定IsVisible,但这是不可能的,因为你已经告诉(没有设置程序)。
我的问题是,是否可以在代码后面绑定Visibility属性,这样我就可以将这些信息保存在视图模型中
1条答案
按热度按时间lstz6jyr1#
绑定需要DependencyProperty。我将尝试在
OneWayToSource
模式下使用绑定,并使用公共BooleanToVisibilityConverter转换器绑定Visibility
属性