Estoy usando una clase IsNullConverter en mi proyecto y funcionó para mí. aquí está el código en c #, cree una carpeta llamada Convertidor y agregue esta clase en esa carpeta, ya que el disparador utilizado no admite valor en lugar de nulo, y IsNullConverter simplemente haga eso
public class IsNullConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (value == null);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new InvalidOperationException("IsNullConverter can only be used OneWay.");
}
}
agregue el espacio de nombres en el archivo xaml como este.
xmlns:Converters="clr-namespace:TymeSheet.Converter"
medio
xmlns:Converters="clr-namespace:YourProjectName.Converter"
use esta línea debajo de los recursos para que esté disponible a través del código xaml
<Converters:IsNullConverter x:Key="isNullConverter" />
aquí está el código xaml, utilicé aquí el disparador, por lo que cada vez que se selecciona un elemento en el cuadro combinado, la visibilidad de su texto se vuelve falsa.
<TextBlock Text="Select Project" IsHitTestVisible="False" FontFamily="/TimeSheet;component/Resources/#Open Sans" FontSize="14" Canvas.Right="191" Canvas.Top="22">
<TextBlock.Resources>
<Converters:IsNullConverter x:Key="isNullConverter"/>
</TextBlock.Resources>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ProjectComboBox,Path=SelectedItem,Converter={StaticResource isNullConverter}}" Value="False">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>