or
<Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type telerik:GridViewRow}}, Path=IsSelected}" Value="True">
<Setter Property="Foreground" Value="White" />
</DataTrigger>
</Style.Triggers>
</Style>
public
class
QcsStrandData : BaseObject
{
private
long
stranNo;
public
long
StrandNo
{
get
{
return
this
.stranNo; }
set
{
this
.stranNo = value;
this
.OnPropertyChanged(
"StrandNo"
); }
}
private
double
zoneEnd;
public
double
ZoneEnd
{
get
{
return
this
.zoneEnd; }
set
{
this
.zoneEnd = value;
this
.OnPropertyChanged(
"ZoneEnd"
); }
}
private
double
zoneStart;
public
double
ZoneStart
{
get
{
return
zoneStart; }
set
{ zoneStart = value;
this
.OnPropertyChanged(
"ZoneStart"
); }
}
private
Brush zoneQuality;
public
Brush ZoneQuality
{
get
{
return
this
.zoneQuality; }
set
{
this
.zoneQuality = value;
this
.OnPropertyChanged(
"ZoneQuality"
); }
}
private
string
zoneName;
public
string
ZoneName
{
get
{
return
zoneName; }
set
{ zoneName = value;
this
.OnPropertyChanged(
"ZoneName"
); }
}
}
public
ObservableCollection<QcsStrandData> QcsData
{
get
{
return
qcsData; }
set
{ qcsData = value;
this
.OnPropertyChanged(
"QcsData"
); }
}
public
ObservableCollection<QcsStrandData> CreateQcsStrandsData()
{
ObservableCollection<QcsStrandData> result =
new
ObservableCollection<QcsStrandData>();
result.Add(
new
QcsStrandData() { ZoneName =
"Tundish"
, StrandNo = 1, ZoneEnd = 100, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Mould"
, StrandNo = 1, ZoneEnd = 680, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 1"
, StrandNo = 1, ZoneEnd = 980, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 2"
, StrandNo = 1, ZoneEnd = 2830, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 3"
, StrandNo = 1, ZoneEnd = 4640, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 4"
, StrandNo = 1, ZoneEnd = 7920, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"AirCooling"
, StrandNo = 1, ZoneEnd = 17115, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module1"
, StrandNo = 1, ZoneEnd = 18215, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module2"
, StrandNo = 1, ZoneEnd = 19315, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module3"
, StrandNo = 1, ZoneEnd = 20415, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module4"
, StrandNo = 1, ZoneEnd = 21515, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module5"
, StrandNo = 1, ZoneEnd = 22615, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module6"
, StrandNo = 1, ZoneEnd = 23715, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module7"
, StrandNo = 1, ZoneEnd = 24815, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module8"
, StrandNo = 1, ZoneEnd = 25915, ZoneQuality =
new
SolidColorBrush(Colors.OrangeRed) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module9"
, StrandNo = 1, ZoneEnd = 27015, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tart"
, StrandNo = 1, ZoneEnd = 37395, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tcm"
, StrandNo = 1, ZoneEnd = 46500, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tundish"
, StrandNo = 2, ZoneEnd = 100, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Mould"
, StrandNo = 2, ZoneEnd = 680, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 1"
, StrandNo = 2, ZoneEnd = 980, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 2"
, StrandNo = 2, ZoneEnd = 2830, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 3"
, StrandNo = 2, ZoneEnd = 4640, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 4"
, StrandNo = 2, ZoneEnd = 7920, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"AirCooling"
, StrandNo = 2, ZoneEnd = 17115, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module1"
, StrandNo = 2, ZoneEnd = 18215, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module2"
, StrandNo = 2, ZoneEnd = 19315, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module3"
, StrandNo = 2, ZoneEnd = 20415, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module4"
, StrandNo = 2, ZoneEnd = 21515, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module5"
, StrandNo = 2, ZoneEnd = 22615, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module6"
, StrandNo = 2, ZoneEnd = 23715, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module7"
, StrandNo = 2, ZoneEnd = 24815, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module8"
, StrandNo = 2, ZoneEnd = 25915, ZoneQuality =
new
SolidColorBrush(Colors.OrangeRed) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module9"
, StrandNo = 2, ZoneEnd = 27015, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tart"
, StrandNo = 2, ZoneEnd = 37395, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tcm"
, StrandNo = 2, ZoneEnd = 46500, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tundish"
, StrandNo = 3, ZoneEnd = 100, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Mould"
, StrandNo = 3, ZoneEnd = 680, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 1"
, StrandNo = 3, ZoneEnd = 980, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 2"
, StrandNo = 3, ZoneEnd = 2830, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 3"
, StrandNo = 3, ZoneEnd = 4640, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Zone 4"
, StrandNo = 3, ZoneEnd = 7920, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"AirCooling"
, StrandNo = 3, ZoneEnd = 17115, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module1"
, StrandNo = 3, ZoneEnd = 18215, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module2"
, StrandNo = 3, ZoneEnd = 19315, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module3"
, StrandNo = 3, ZoneEnd = 20415, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module4"
, StrandNo = 3, ZoneEnd = 21515, ZoneQuality =
new
SolidColorBrush(Colors.Orange) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module5"
, StrandNo = 3, ZoneEnd = 22615, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module6"
, StrandNo = 3, ZoneEnd = 23715, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module7"
, StrandNo = 3, ZoneEnd = 24815, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module8"
, StrandNo = 3, ZoneEnd = 25915, ZoneQuality =
new
SolidColorBrush(Colors.OrangeRed) });
result.Add(
new
QcsStrandData() { ZoneName =
"Module9"
, StrandNo = 3, ZoneEnd = 27015, ZoneQuality =
new
SolidColorBrush(Colors.Red) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tart"
, StrandNo = 3, ZoneEnd = 37395, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
result.Add(
new
QcsStrandData() { ZoneName =
"Tcm"
, StrandNo = 3, ZoneEnd = 46500, ZoneQuality =
new
SolidColorBrush(Colors.Lime) });
return
result;
}
<
telerik:RadCartesianChart
x:Name
=
"chart"
Margin
=
"5"
>
<
telerik:RadCartesianChart.Grid
>
<
chartView:CartesianChartGrid
MajorLinesVisibility
=
"Y"
MajorYLineDashArray
=
"5,5"
/>
</
telerik:RadCartesianChart.Grid
>
<
telerik:RadCartesianChart.VerticalAxis
>
<
chartView:LinearAxis
Visibility
=
"Visible"
ShowLabels
=
"True"
Title
=
"Distance [mm]"
Minimum
=
"0"
IsInverse
=
"True"
/>
</
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:RadCartesianChart.HorizontalAxis
>
<
chartView:CategoricalAxis
ShowLabels
=
"True"
VerticalLocation
=
"Top"
Title
=
"Strand"
PlotMode
=
"BetweenTicks"
GapLength
=
"{Binding StrandGap}"
/>
</
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:RadCartesianChart.Series
>
<
chartView:BarSeries
CategoryBinding
=
"StrandNo"
ValueBinding
=
"ZoneEnd"
ItemsSource
=
"{Binding QcsData}"
CombineMode
=
"Stack"
>
<
chartView:BarSeries.PointTemplate
>
<
DataTemplate
>
<
Border
Background
=
"{Binding DataItem.ZoneQuality}"
BorderThickness
=
"0,2,0,0"
BorderBrush
=
"Black"
/>
</
DataTemplate
>
</
chartView:BarSeries.PointTemplate
>
</
chartView:BarSeries
>
</
telerik:RadCartesianChart.Series
>
</
telerik:RadCartesianChart
>