Я новичок в c #, WPF,
В настоящее время я могу нарисовать прямоугольную решетку так: , используя мой код WPF:
<Window x:Class="FunctionalFun.UI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp_Ui_dESIGN"
xmlns:gc="clr-namespace:FunctionalFun.UI"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid Name="myFirstGrid" Width="1000" Height="314" Canvas.Top="206">
<Grid.Resources>
<x:Array x:Key="Tasks" Type="{x:Type gc:Task}">
<gc:Task Name="Task 1" Start="05:00" End="12:10"/>
</x:Array>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Grid.Effect>
<DropShadowEffect Color="#FFDEDADA" ShadowDepth="3"/>
</Grid.Effect>
<ItemsControl Grid.Row="0" ItemsSource="{StaticResource Tasks}" Margin="50,30,0,-50">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="gc:GanttRowPanel.StartDate" Value="{Binding Path=Start}"/>
<Setter Property="gc:GanttRowPanel.EndDate" Value="{Binding Path=End}"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#FF007F99" BorderThickness="0.1" CornerRadius="15,15,15,15">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF2FD9FD" Offset="0"/>
<GradientStop Color="#FFCAF6FF" Offset="0.112"/>
<GradientStop Color="#FF47D8F7" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock Text="{Binding Path=Name}" HorizontalAlignment="Center" VerticalAlignment="Center" ToolTip="{Binding Path=Name}"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
и файл Task.cs
namespace FunctionalFun.UI
{
public class Task
{
public string Name { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
}
Даты по горизонтальной оси, мне нужно отобразить сетку на основе двух дат из двух разных столбцов.
Все данные сетки, размещенные поверх таблицы AS, показаны ниже:
Например, если дата начала - 9/8/2016 и дата окончания13.08.2016, тогда мне нужно построить сетку из пяти столбцов.
Пожалуйста, помогите мне решить эту проблему.