Wpf 使用组合框中的按钮不会进行选择
在下文中,组合框的下拉列表显示“年份”(字符串)(绑定的“TrialList”的内容)列表以及添加另一年的按钮。它可以工作,按钮触发命令,但当发生这种情况时,组合框不会折叠,这将锁定随后对绑定列表TrialList所做的更改 在MVVM中,按下按钮时如何强制“选择更改”Wpf 使用组合框中的按钮不会进行选择,wpf,mvvm,wpf-controls,Wpf,Mvvm,Wpf Controls,在下文中,组合框的下拉列表显示“年份”(字符串)(绑定的“TrialList”的内容)列表以及添加另一年的按钮。它可以工作,按钮触发命令,但当发生这种情况时,组合框不会折叠,这将锁定随后对绑定列表TrialList所做的更改 在MVVM中,按下按钮时如何强制“选择更改” <ComboBox> <ComboBox.ItemsSource> <CompositeCollection> <CollectionCo
<ComboBox>
<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={x:Static local:Data.TheAcademicUnit}, Mode=TwoWay, Path=TrialList}"/>
<ComboBoxItem>
<Button Content="Add New Year" Command="{Binding ShowNewAcademicYearPanelCommand}"/>
</ComboBoxItem>
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
试试:
您可以将组合框的IsDropDownOpen
属性绑定到视图模型的源属性,该属性在命令的执行
方法中设置为false
:
<ComboBox IsDropDownOpen="{Binding IsOpen}">
如果要在调用命令时进行选择,则应以相同的方式绑定并设置组合框的SelectedItem
属性。是否对showNewPanelCommand
GUI线程友好?请向我们展示该方法及其作用。
<ComboBox IsDropDownOpen="{Binding IsOpen}">
private bool _isOpen;
public bool IsOpen
{
get { return _isOpen; }
set { _isOpen = value; NotifyPropertyChanged(); }
}