可见性绑定不起作用

时间:2014-11-01 18:14:50

标签: c# xaml windows-phone-8

我正在尝试切换我在UserControl中的Ellipse的可见性。

PhotoThumbnail.xaml

<Ellipse x:Name="EditableEllipse"
             Visibility="{Binding EllipseVisible, Converter={StaticResource BoolVisibilityConverter}}"/>

PhotoThumbnail.xaml.cs

private bool _ellipseVisible = false;
    public bool EllipseVisible
    {
        get { return _ellipseVisible; }
        set
        {
            if (_ellipseVisible != value)
            {
                _ellipseVisible = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("EllipseVisible"));
                }
            }
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    public PhotoThumbnail()
    {
        InitializeComponent();
        DataContext = this;
    }

并且在我的页面中我想根据布尔属性切换可见性,如果我需要显示椭圆

MainPage.xaml.cs中

photoThumbnail = new PhotoThumbnail()
{
    EllipseVisible = filter.IsEditable
}

我有一个BoolVisibilityConverter设置,我知道在其他页面中有效。另外,我已经在App.xaml中声明了转换器而不是UserControl,因为在整个项目中使用了x:Key="BoolVisibilityConverter"

调试时,我在PhotoThumbnail.xaml.cs中放置一个断点并确认_ellipseVisible正确返回true或false,但UserControl中Ellipse的Visibility不会更新,并且始终显示为可见。

0 个答案:

没有答案