У меня есть treeView и панель стека с сообщением, что «нет элементов». Итак, я хочу скрыть панель, если элементы treeView не пусты.
Вот мой пример XAML:
<TreeView Name="treeDocs" Grid.ColumnSpan="2"/>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center"
Margin="51,20,51,0" Name="stkNoDocs"
Visibility="{Binding ElementName=treeDocs, Path=Items,
Converter={StaticResource ResourceKey=ItemsToVisibilityConverter}}">
А вот метод конвертации моего конвертера:
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
return ((ItemCollection)value).Count == 0 ? Visibility.Visible : Visibility.Collapsed;
}
Я использовал свойство Style так:
<StackPanel.Style>
<Style TargetType="StackPanel">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=treeDocs, Path=Items.Count}" Value="0">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
А в режиме дизайна все работает отлично! Но на самом деле панель всегда видна ... В чем проблема?
Спасибо!