Желаемый результат выглядит так:
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?
Возможно, вам нужно это:
<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>
и содержит нужные высоты прямоугольников.
Получается вот такой результат:
Виртуальный выделенный сервер (VDS) становится отличным выбором
доброго времени сутоксвалилась на меня интересная задача, но не знаю с какой стороны к ней подступиться
Всем доброго времени сутокТак сложилось что в качестве СУБД использую SQL Server Compact
Делаю с помощью Selenium скриншот, обрезаю его и хочу сохранить со сжатием, но оно не происходит( - в чём загвоздка ?