Some time ago, to do server-side monitoring system, in order to good interface, using WPF. Hardware-related monitoring, such as CPU, memory, and so on, want to use the dashboard control. Many of these controls are found on the web, basically third-party business controls (though beautiful, but money ...). Finally, a good open source dashboard control Circulargaugewas found on CodeProject.
Using the next control, it feels good, because a lot of parameters (such as the size of the disk radius, the size of the pointer and so on), the size adjustment needs to try several times to achieve the desired effect. As the monitoring focus of the project is the database-related content, hardware monitoring is just a simple embellishment, looks good, no adjustment is relatively large. As follows:
<UserControlx:class= "Monitor.UC.UCGauge"xmlns= "Http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x= "Http://schemas.microsoft.com/winfx/2006/xaml"XMLNS:MC= "http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"mc:ignorable= "D"D:designheight= "+"D:designwidth= "+"Xmlns:gauge= "Clr-namespace:circulargauge;assembly=circulargauge"Loaded= "usercontrol_loaded"> <Grid> <Gauge:circulargaugecontrolx:name= "MyGauge1"Grid.column= "0"Grid.Row= "0"Radius= " the"Scaleradius= " on"Scalestartangle= "+"Scalesweepangle= "+"Pointerlength= "+"Pointercapradius= " the"MinValue= "0"MaxValue= "+"Majordivisionscount= "Ten"Minordivisionscount= "5"ImageSize= "20,30"rangeindicatorthickness= "4"Rangeindicatorradius= "The "Rangeindicatorlightradius= "5"Rangeindicatorlightoffset= "Max"Scalelabelradius= "$"scalelabelsize= "18,10"scalelabelfontsize= "8"Scalelabelforeground= "Lightgray"majorticksize= "10,3"minorticksize= "3,1"Majortickcolor= "Lightgray"Minortickcolor= "Lightgray"Imageoffset= " -22"Gaugebackgroundcolor= "Black"pointerthickness= "+"Optimalrangestartvalue= "+"Optimalrangeendvalue= "All"Dialtextoffset= " the"Dialtextcolor= "Black"Belowoptimalrangecolor= "Green"Optimalrangecolor= "Yellow"> </Gauge:circulargaugecontrol> </Grid></UserControl>
<UserControlXmlns:my= "Clr-namespace:monitor.uc"x:class= "Monitor.UC.UCMonitor"xmlns= "Http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x= "Http://schemas.microsoft.com/winfx/2006/xaml"XMLNS:MC= "http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"mc:ignorable= "D"D:designheight= "+"D:designwidth= "+"> <GridMargin= "0,2,0,0"> <!--Definition Box - <grid.rowdefinitions> <RowDefinitionHeight= "Max"/> <RowDefinitionHeight="*"/> </grid.rowdefinitions> <ImageStyle="{StaticResource Hardwareimage}"Grid.Row= "0"Margin= "2,0,0,0"></Image> <LabelStyle="{StaticResource Blackcontenttext}"Content= "Hardware Monitoring"Grid.Row= "0"Margin= "20,5,2,2"></Label> <GridGrid.Row= "1"Style="{StaticResource Hardwarebackgroundgrid}"> <grid.columndefinitions> <ColumnDefinitionWidth= "0.5*"></ColumnDefinition> <ColumnDefinitionWidth= "0.5*"></ColumnDefinition> </grid.columndefinitions> <My:ucgaugex:name= "Ucgaugecup"Grid.column= "0"/> <My:ucgaugex:name= "Ucgaugememory"Grid.column= "1"/> </Grid> </Grid></UserControl>
Recommend a WPF dashboard open source control