我有一个下拉菜单(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/

10-12 12:29
查看更多