Расстояние между элементами ListBox

331
01 марта 2018, 10:03

Желаемый результат выглядит так:

XAML:
<StackPanel Name="SPName" Orientation="Horizontal"/>
C#:
mass = new Rectangle[100];
for (int i = 0; i < Mass.Length; i++)
{
      mass[i] = new Rectangle();
      mass[i].VerticalAlignment = VerticalAlignment.Bottom;
      mass[i].Width = SList.ActualWidth / Mass.Length;
      mass[i].Height = (SList.ActualHeight - 100) * (i / 100.0);
      mass[i].Fill = Brushes.Green;
      mass[i].StrokeThickness = 1;
      mass[i].Stroke = Brushes.Black;
      SPName.Children.Add(mass[i]);
}

При реализации через ListBox получается это:

XAML:
<ListBox ItemsSource="{Binding Mass}">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"
                        VerticalAlignment="Bottom"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>
C#:
Panel parent = ((sender as Button).Parent as Panel).Parent as Panel;
mass = new Rectangle[100];
for (int i = 0; i < Mass.Length; i++)
{
        mass[i] = new Rectangle();
        mass[i].VerticalAlignment = VerticalAlignment.Bottom;
        mass[i].Width = parent.ActualWidth / Mass.Length;
        mass[i].Height = (parent.ActualHeight - 100) * (i / 100.0);
        mass[i].Fill = Brushes.Green;
        mass[i].StrokeThickness = 1;
        mass[i].Stroke = Brushes.Black;
}
OnPropertyChanged("Mass");

Как реализовать первый вариант с помощью ListBox?

Answer 1

Возможно, вам нужно это:

<ItemsControl ItemsSource="{Binding Mass}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Rows="1"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Rectangle VerticalAlignment="Bottom" Fill="Green"
                       Height="{Binding}" Stroke="Black" StrokeThickness="1"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

При этом ваш Mass имеет тип double[] или там IEnumerable<double> и содержит нужные высоты прямоугольников.

Получается вот такой результат:

READ ALSO
сравнение наименований в справочниках

сравнение наименований в справочниках

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

185
C#. SQL Compact. Страницы индексации

C#. SQL Compact. Страницы индексации

Всем доброго времени сутокТак сложилось что в качестве СУБД использую SQL Server Compact

237
Сжатие файла при сохранении

Сжатие файла при сохранении

Делаю с помощью Selenium скриншот, обрезаю его и хочу сохранить со сжатием, но оно не происходит( - в чём загвоздка ?

204
Объекты улетают вверх

Объекты улетают вверх

Добрый деньВозникла проблема с созданием главного меню для игры

197