1

我有绑定到集合的组合框。集合中的每个项目都有一个可能包含或不包含项目的子集合。我有一个子集合绑定到的第二个组合框。如果子集合有项目,我只想显示(=Visibility.Visible)第二个组合框。所有这些都有效。但是:当我启动我的程序时,主组合框的 selectedItem 为空(=到目前为止没有选择任何内容)。这(我猜)导致转换器不被调用(它没有,我在转换器上设置了一个断点并且程序在它启动时不会停止)。

所以我有一个问题,我不想在程序启动时显示第二个组合框。我可以强制调用 ValueConverter 吗?我尝试在构造函数的末尾调用 OnPropertyChanged,但这并没有改变任何东西。当我在 .xaml.cs 的构造函数中将组合框设置为 Visible.Hidden 时,它根本不会显示,即使在调用值转换器之后也是如此。有任何想法吗?

4

1 回答 1

4

FallbackValue为绑定设置 a :

<SomeUIElement Visibility="{Binding SomeBinding, Converter={StaticResource SomeConverter}, FallbackValue=Hidden}" />

当没有任何绑定时,您可以设置一个用于代替绑定的值。

将代码隐藏中的值更改为Visibility.Hidden使其始终不可见的原因是,显式设置属性会删除您在 XAML 中添加的绑定

于 2013-04-16T13:18:05.393 回答