我有一个简单的问题,我有一个ComboBox
ItemsSource
绑定了相对昂贵的服务电话。
如果问题ComboBox
被禁用,绑定是否仍会触发?如果是这样,我可以做些什么来确保只在确实需要的时候进行昂贵的通话?
答案 0 :(得分:0)
您可能希望至少考虑修改ComboBox
的模板,以便它至少使用VirtualizingStackPanel
,只要您的服务调用一次提取一个项目。有关这些问题的详细讨论,请参阅this。
修改强>
要回答您的实际问题:不,禁用ComboBox
并不会阻止它填充其项目。我通过实现一个集合类来确定这一点,将ComboBox
的{{1}}绑定到它的一个实例,并观察它为其方法调用提供服务。如果启用了ItemsSource
,则会检索其项目。如果ComboBox
为Visibility
,则会检索它们。我很惊讶;这根本不是我所期望的。