我有一个标签项目,我目前正在加载一个用户控件作为项目在数据模板中。我有两个日期选择器和一个按钮。点击这个按钮,我需要显示一个堆栈面板,然后加载其他控件。我的问题在于,尽管点击事件已经触发,并且新数据在新的对象/集合中可用,但将其分配给视图中的属性时,模型并未使用数据更新控件。另外我无法改变面板的可视性。 这是代码:更新我的视图模型时,为什么我的用户控件不能更新?
用户控件是tabitem的数据模板,tabcontrol项目源绑定到集合。因为当我试图在我的视图模型中直接绑定控件和属性时,我得到了绑定表达式错误,我所做的是在模型类构造函数中创建了相同的属性,并且我获取/设置了viewmodel属性的值。目前编译器显示没有绑定错误,如果我绑定在模型类中定义的属性。
<UserContrl>
<StackPanel Grid.Row = "0">
<Button Grid.Column="4" HorizontalAlignment="Left" Content="Generate Graph"
Width="140" Command="{Binding GenGraph}" />
</StackPanel>
<StackPanel Grid.Row = "1" Visibility={Binding ShowReport">
......
</StackPanel>
</UserControl>
您的ViewModel是否实现了`INotifyPropertyChanged`?如果WPF在属性更改时自动更新UI,那么该接口是必需的。也许你可以向我们展示你的ViewModel代码。 – Rachel 2011-12-14 13:53:14