Windows.UI.Xaml.UiElement.IsVisibleChanged不存在

时间:2016-01-20 07:42:56

标签: c# wpf xaml

Windows.UI.Xaml.UIElement而非System.Windows.UIElement没有此事件:

public event DependencyPropertyChangedEventHandler IsVisibleChanged

所以有两个问题:

  1. 不包括它的理由是什么?
  2. 如何更换?
  3. (在代码隐藏(.xaml.cs)中,对于每个IsVisibleChanged事件或每个Canvas调整大小事件,我需要重新排列Canvas个孩子。)

1 个答案:

答案 0 :(得分:2)

您可以使用RegisterPropertyChangedCallbackVisibility属性注册更改回调:

element.RegisterPropertyChangedCallback(UIElement.VisibilityProperty, VisibilityChanged);
...

private void VisibilityChanged(DependencyObject sender, DependencyProperty property)
{
    var visibility = ((UIElement)sender).Visibility;
    ...
}