微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight RadComboBox在选择后保持打开状态

Silverlight MVVM.我有一个RadComboBox,对于每个选择,我在另一个数据网格中添加一个新行.我在我的viewmodel类中添加了必需代码,这部分正在运行.我想要表现的是:

>在控件具有焦点时保持组合框打开,以允许用户重复选择(我将IsDropDownopen绑定到方法并将SelectedItem属性设置为true但仍然在选择后关闭)
>取消选择所选项目以允许复制选择.我添加了事件SelectionChanged并在MainPage.xaml.cs中添加代码,但在我的viewmodel中寻找解决方案.

解决方法

可以说,

IsDropDownopen = {Binding IsDropDownFromviewmodel}

另外,假设IsDropDownFromviewmodel的getter包含了下拉打开的所有条件,并且将始终返回正确的下拉状态.

现在,您需要做的就是为此属性触发PropertyChanged事件,无论您认为下拉列表应该打开,还是关闭,反之亦然.

不幸的是我没有得到你的确切场景,但我们假设情况就是这样(你应该使用类似的方法解决你遇到的任何问题).

示例场景:

The drop down closes when you select an item,it is intended to stay open

在上面的例子中,用户选择一个项目,应该调用selectedItem的相应绑定属性的setter,这就是我们编写通知代码的地方

public SelectedItemType SelectedItemInviewmodel {
    get{ 
     return _selectedItemVM; 
   },set{
     _selectedItemVM=value;
     NotifyPropertyChanged("IsDropDownFromviewmodel");
   }
 }

这样做,它将告诉radComboBox的IsDropDownopen属性重新评估它在RHS上的绑定表达式并获取其新值

希望你得到这个方法的要点,如果不发表评论.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐