Визуализация элемента ListBox в виде простого прямоугольника (DataTemplate не работает) (Игнорировать: проблема вызвана в другом месте) - PullRequest
1 голос
/ 07 февраля 2011

У меня есть коллекция элементов в ObservableCollection, и я хотел бы отобразить каждый элемент в виде простого прямоугольника.

Я создал ListBox и привязал к нему свою коллекцию, и он отображает списокстроки (ToString () из моих элементов), как и ожидалось.
Однако, когда я прихожу, чтобы изменить шаблон данных и ориентацию, он больше ничего не отображает.

Настройка ItemsPanel или ItemTemplate одновременно нарушает список, может кто-нибудь увидетьошибка в моем коде?

    <ListBox Height="100" HorizontalAlignment="Left" Margin="99,151,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" ItemsSource="{Binding Path=indicators, UpdateSourceTrigger=PropertyChanged}">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Rectangle HorizontalAlignment="Left" Name="rectangle1" VerticalAlignment="Stretch" RadiusX="2" RadiusY="2" 
                    Fill="#FF009600" Width="10" />
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Я думаю, что ваша проблема заключается в представлении элементов. Поскольку без ItemTemplate вы видели все элементы в ListBox, я уверен, что они все еще там, только вы их не видите, скорее всего потому, что одно из свойств Rectangle установлено неправильно. Например, вы тоже пытались дать им высоту?

0 голосов
/ 07 февраля 2011

Извините, я нашел проблему, которая была в моем коде позади, тестовый код остался, что остановило обновление списка.Теперь отображаются прямоугольники, спасибо!

...