|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CircularProgressBar"
xmlns:hlp="clr-namespace:CircularProgressBar.Helpers">
<Style TargetType="{x:Type local:CircularProgressBar}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CircularProgressBar}">
<Grid x:Name="LayoutRoot">
<!-- attach the view model -->
<local:CircularProgressBarViewModel.Attach>
<local:SegmentedProgressBarViewModel HoleSizeFactor="0.7"/>
</local:CircularProgressBarViewModel.Attach>
<!-- render the segments -->
<ItemsControl ItemsSource="{Binding Segments}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<!-- a grey segment -->
<hlp:PiePiece CentreX="{Binding Parent.CentreX}" CentreY="{Binding Parent.CentreY}"
RotationAngle="{Binding StartAngle}" WedgeAngle="{Binding WedgeAngle}"
Radius="{Binding Parent.Radius}" InnerRadius="{Binding Parent.InnerRadius}"
Fill="LightGray" Stroke="White" Opacity="0.5"/>
<!-- a blue segment, with an Opacity bound to the view model -->
<hlp:PiePiece CentreX="{Binding Parent.CentreX}" CentreY="{Binding Parent.CentreY}"
RotationAngle="{Binding StartAngle}" WedgeAngle="{Binding WedgeAngle}"
Radius="{Binding Parent.Radius}" InnerRadius="{Binding Parent.InnerRadius}"
Fill="DarkBlue" Stroke="White" Opacity="{Binding Opacity}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Network and programming specialist. Started in C, and have learned about 14 languages since then. Cisco programmer, and lately writing a lot of C# and WPF code, (learning Java too). If I can dream it up, I can probably put it to code. My software company, (VTDev), is on the verge of releasing a couple of very cool things.. keep you posted.