我有一个下拉菜单(ComboBox
),显示了计算机上所有可用的com端口。现在,当您连接和断开设备连接时,端口会来来去去。
出于性能原因,我不想继续调用System.IO.Ports.SerialPort.GetPortNames()
,而只是在用户单击组合框时才调用它?这可能吗?是否有MVVM解决此问题的方法?
最佳答案
使用InvokeCommandAction
。
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
DropDownOpenedCommand是ViewModel上的
ICommand
属性。<ComboBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="DropDownOpened">
<i:InvokeCommandAction Command="{Binding DropDownOpenedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
编辑:显然,DropDownOpened不是SelectionChanged,正如Patrice所说。
关于c# - WPF MVVM-单击时更新下拉菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26040851/