|
2
|
| Johan Buret · 技术社区 · 16 年前 |
|
|
1
3
我必须查看您的代码才能确定,但我猜您的组合框将其SelectedItem或SelectedValue双向绑定到属性。 使用staticresource时,资源引用将在XAML加载时解析。使用动态资源时,资源引用稍后会得到解决。因此,可能发生的情况是,组合框启动时没有任何项,这将强制其selectedItem和selectedValue为空。双向绑定使属性使用此值进行更新。 我个人认为ComboBox无法优雅地处理这种情况是ComboBox设计中的一个bug,而不是一个实现bug。 对于我自己的项目,我经常使用我创建的组合框和列表框增强功能来解决这个问题:我可以使用其他属性代替selectedValue和selecteditems。在设置itemssource之前,我的新属性接受任何值,此后它将与selectedvalue或selecteditem保持同步。 您可以使用类似的技术,或者始终确保itemssource在selectedValue或selectedItem之前已绑定/初始化。 更新 当从可视化树中移除控件时,一切都将以相反的方式发生:由于父级更改,itemssource立即被清除,然后DataContext被清除。在过渡期间,ComboBox有一个空的SelectedItem,它将传播到绑定属性。 带有其他SelectedItem和SelectedValue属性的增强型组合框或列表框类也可以解决此问题:当itemssource非空时,它应使SelectedItem/SelecteValue与自定义属性保持同步,并在itemssource为空时将它们分离。 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |
|
|
Barta · WPF MVVM不更新视图 1 年前 |
|
|
Denis Ivanov · WPF控件在属性更改时不会更新 1 年前 |
|
|
codymanix · WPF:TextBlock周围可见小边框? 1 年前 |
|
|
Nostromo · 来自背景对象的工具提示 2 年前 |
|
|
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 2 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 2 年前 |
|
|
Thern · 在UI线程(WPF)上的void方法中调用异步函数 2 年前 |