StatusBar - элементы Dynami c и элементы c - PullRequest
0 голосов
/ 03 марта 2020

У меня есть строка состояния, которая будет содержать некоторые динамические элементы статуса c и некоторые жестко запрограммированные элементы статуса. По какой-то причине элементы строки состояния Dynami c не отображаются, даже несмотря на то, что привязка со свойством ViewModel выполнена, и я могу видеть элементы с помощью Live Visual Tree

Это строка состояния

<StatusBar x:Name="StatusBar" Grid.Column="2" Grid.Row="1" ItemsSource="{Binding}">
            <StatusBar.Background>
                <SolidColorBrush Color="White" Opacity="0.5"/>
            </StatusBar.Background>
            <StatusBarItem Height="60" Width="120" HorizontalAlignment="Right">
                <Image Source="Logo.png" ></Image>
            </StatusBarItem>           
            <Separator></Separator>        
            <StatusBar.ItemTemplate>                
                <DataTemplate>
                    <TextBlock Text="ASDF"></TextBlock>
                </DataTemplate>
            </StatusBar.ItemTemplate>
        </StatusBar>

enter image description here

Это строка состояния во время выполнения.

Как вы можете видеть, есть 5 видимых элементов и 2 элемента из наблюдаемой коллекции которые не отображаются на интерфейсе пользователя.

Вот как выглядит пользовательский интерфейс enter image description here

Зеленая / синяя часть видна, остальная часть пространства StatusBar занята последним разделителем. Мои динамные c предметов не где найти.

Есть идеи? Могу ли я заставить оба динамических / stati c элемента работать в одном StatusBar? Или мне нужно добавить 2 строки состояния: один для динамического c, а второй - для содержимого c.

1 Ответ

1 голос
/ 03 марта 2020

Могу ли я заставить оба динамических / stati c элемента работать в одной и той же строке состояния?

Нет. Вы не можете одновременно связываться с ItemsSource и добавлять объекты stati c в коллекцию Items.

Если ваша привязка сработает, вы получите InvalidOperationException, в котором говорится, что коллекция Items должна быть пустой перед использованием ItemsSource.

Что вам нужно сделать, это добавить свою stati c элементов исходной коллекции в модели представления.

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