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上的绑定表达式并获取其新值

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

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...