WPF UserControl Context Menu Visibility Binding
Mi visibilidad del menú contextual de control de usuario no puede vincular una propiedad de dependencia. ¿Alguna idea
Aquí está mi código WPF
<UserControl.ContextMenu>
<ContextMenu Visibility="{Binding ElementName=wellControl, Path=IsInCompactMode, Converter={StaticResource BooleanToVisibilityConverter}}">
<MenuItem Command="local:GCommands.Edit" />
<MenuItem Command="local:GCommands.Delete" />
<MenuItem Command="local:GCommands.ExportFcsFiles" />
<MenuItem Command="local:GCommands.BatchExportStatistics" />
<Separator/>
<MenuItem Command="local:GCommands.SaveAs" Header="Save As..." />
</ContextMenu>
</UserControl.ContextMenu>
Si configuro Visibility = "Hidden", funcionará para mí. Me gusta esto
<ContextMenu Visibility="Hidden"/>
Si usa esto, no funcionará
<ContextMenu Visibility="{Binding ElementName=wellControl, Path=IsInCompactMode, Converter={StaticResource BooleanToVisibilityConverter}}">
Estoy bastante seguro de que Visibility = "{Binding ElementName = wellControl, Path = IsInCompactMode, Converter = {StaticResource BooleanToVisibilityConverter}}" no tiene problemas, porque funciona para otros.
aquí está mi propiedad de dependencia
public bool IsInCompactMode
{
get {return (bool)GetValue(IsInCompactModeProperty); }
set {SetValue(IsInCompactModeProperty, value); }
}
public static readonly DependencyProperty IsInCompactModeProperty =
DependencyProperty.Register("IsInCompactMode", typeof(bool), typeof(WellControl), new PropertyMetadata(false));
Lo intenté de esta manera, parece que todavía no funciona, ¡esto es realmente extraño!
<ContextMenu x:Name="menu" IsOpen="{Binding ElementName=wellControl, Path=IsInCompactMode}">
Estoy realmente confundido al respecto, ¿qué pasa? "Binding ElementName = wellControl, Path = IsInCompactMode" funciona para otra parte del control del usuario, ¿pero no funciona para el menú contextual extraño? no tiene sentido