使用AvalonDock 2,我有默认实现来改变ViewModel的可见性:
<Style TargetType="{x:Type xcad:LayoutAnchorableItem}">
<Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}" />
将此IsVisible
设置为false(或直接调用LayoutAnchorable.Hide())
方法LayoutAnchorableItem._anchorable_IsVisibleChanged
中发生了一些奇怪的事情。在此行之后
Visibility = Visibility.Hidden;
ExternalCode中的某些内容使Visibility
崩溃。 BooleanToVisibilityConverter
中没有断点触发器,但如果我删除<Setter Property="Visibility"
,则一切正常,Visibility == Visibility.Hidden
。
问题可能在哪里?