【发布时间】:2011-03-31 15:34:36
【问题描述】:
我的 ViewModel 需要知道在视图中选择了哪个 AccordionItem。所以在 ViewModel 我有:
public class ServerListControlViewModel : ObservableObject
{
private int _accordion_index;
public int accordion_index
{
get { return _accordion_index; }
set
{
_accordion_index = value;
RaisePropertyChanged("accordion_index");
}
}
}
在视图中,我有
<toolkitLayout:Accordion SelectedIndex="{Binding accordion_index}">
<toolkitLayout:AccordionItem items go here>
</toolkitLayout:Accordion>
问题? Accordion 执行精美的展开/折叠动画,但accordion_index 的 set 方法永远不会被调用。此外,我可以在 VM 的构造函数中将accorion_index 设置为某个值,并且在加载视图时将调用 get 方法,并返回我的硬编码值,但 Accorion 会忽略它并始终默认为第一个展开的项目。为什么?我是 WPF 新手,但可以肯定我已经正确绑定了它。
【问题讨论】:
-
答案很简单,不过没时间查,所以写在评论里:
{Binding accordion_index, Mode=TwoWay}