嘿所有我想弄清楚为什么我的扩展器第二次点击它时不会扩展。换句话说,当我第一次点击并展开时,点击第二次然后折叠,然后第三次点击它,它就不会打开。
我有一个扩展器,在扩展器内部是一个文本框。这是我用来打开它并关闭它的代码:
Private Sub expanderFocus(sender As Object, e As RoutedEventArgs)
ticketCurrentExpander = sender
ticketCurrentTextBox = ticketMyTextBoxes(textBoxNum)
ticketCurrentExpander.Background = New SolidColorBrush(Colors.White)
ticketCurrentExpander.Height = 250
ticketCurrentExpander.IsExpanded = True
Canvas.SetZIndex(ticketCurrentExpander, 1000)
End Sub
Private Sub expanderLostFocus(sender As Object, e As RoutedEventArgs)
ticketCurrentExpander.IsExpanded = False
ticketCurrentExpander.Height = 24
Canvas.SetZIndex(ticketCurrentExpander, 0)
e.Handled = True
End Sub
我发现高度属性是导致问题的原因,它没有在第三次点击时显示。我没有想出如何展示它而不必定义盒子的高度。如果我没有指定高度,那么当我点击它时,该框永远不会打开。
我会失踪什么?
答案 0 :(得分:1)
我无法准确地告诉你你的问题是什么,或者你的代码示例是否可以重现,但我可以告诉你,有一种更简单的方法来控制Expander
的开启和关闭控制。如果数据将Expander.IsExpanded
属性绑定到视图模型中的bool
属性,则可以通过设置属性来打开和关闭Expander
。
请参阅此基本示例,为简单起见,为bool
的{{1}}属性交换了上述IsChecked
属性:
ToggleButton