Как показать текст по умолчанию, когда элемент TreeView не имеет подэлементов - PullRequest
1 голос
/ 04 марта 2011

У меня есть иерархия, такая как Band - Record, отображаемая на TreeView. Я хотел бы показать в иерархии сообщение типа «Нет записей», когда у группы нет записей. Я пытаюсь использовать TargetNullValue, но он не работает. У группы есть ObservableCollection, и если она равна нулю или имеет нулевое значение внутри, она не показывает TargetNullValue.

Вот тот XAML, который я использую:

<TreeView ItemsSource="{Binding Bands, TargetNullValue='No bands'}" >
    <TreeView.ItemContainerStyle>
        <!-- 
        This Style binds a TreeViewItem to a TreeViewItemViewModel. 
        -->
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
            <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
        </Style>
    </TreeView.ItemContainerStyle>

    <TreeView.Resources>
        <HierarchicalDataTemplate
            DataType="{x:Type ViewModels:BandViewModel}" 
            ItemsSource="{Binding Children, TargetNullValue='No bands'}"
        >
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding BandName}" />
            </StackPanel>
        </HierarchicalDataTemplate>

        <HierarchicalDataTemplate 
            DataType="{x:Type ViewModels:RecordViewModel}" 
            ItemsSource="{Binding Children, TargetNullValue='No records'}"
        >
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding RecordName}" />
            </StackPanel>
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>

1 Ответ

0 голосов
/ 04 марта 2011

Попробуйте использовать решение для укладки согласно этому вопросу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...