我正在尝试切换我在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不会更新,并且始终显示为可见。