我有C#代码制作标签.我必须将4个标签组合成1.在左下角,你可以看到:
代码:我认为问题被精确定位到网格行和网格列,因为您可以看到存在重叠并且4rth选项卡根本没有显示.
<Button x:Class="TDashboard.Common.Modules.CNASummary.Views.CNASummaryTileView" 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" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:vc="clr-namespace:Visifire.Charts;assembly=WPFVisifire.Charts" mc:Ignorable="d" d:DesignHeight="280" d:DesignWidth="560" MinHeight="{StaticResource TileMinHeight}" MinWidth="{StaticResource TileMinWidth}" MaxHeight="{StaticResource TileMaxHeight}" MaxWidth="{StaticResource TileMaxWidth}" Command="{Binding Command}" Template="{StaticResource TileControlTemplate}"> <StackPanel Orientation="Vertical" dx:ThemeManager.ThemeName="Office2007Blue"> <Grid> <Grid.RowDeFinitions> <RowDeFinition Height="120" /> <RowDeFinition Height="120" /> </Grid.RowDeFinitions> <Grid.ColumnDeFinitions> <ColumnDeFinition Width="260" /> <ColumnDeFinition Width="260" /> </Grid.ColumnDeFinitions> <vc:Chart x:Name="CNAPoorEating" Watermark="False" Width="Auto" Height="Auto" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinHeight="60" MinWidth="{StaticResource ChartMinWidth}" CornerRadius="11,11,11" RenderTransformOrigin="0.5,0.5" FontSize="8" Background="Transparent" Grid.Column="0" Grid.Row="0"> <vc:Chart.PlotArea> <vc:PlotArea Background="#00000000" /> </vc:Chart.PlotArea> <vc:Chart.Titles> <vc:Title Text="Num. Patients Poor Eating" /> </vc:Chart.Titles> <vc:Chart.AxesX> <vc:Axis IntervalType="Days" ValueFormatString="MMM-d" Interval="1"> <vc:Axis.AxisLabels> <vc:AxisLabels Angle="0" /> </vc:Axis.AxisLabels> </vc:Axis> </vc:Chart.AxesX> <vc:Chart.Series> <vc:DataSeries RenderAs="Column" DataSource="{Binding CNAPoorEatingData}" XValueFormatString="MMM-d"> <vc:DataSeries.DataMappings> <vc:DataMapping MemberName="XValue" Path="Day" /> <vc:DataMapping MemberName="YValue" Path="Count" /> </vc:DataSeries.DataMappings> </vc:DataSeries> </vc:Chart.Series> </vc:Chart> <vc:Chart x:Name="CNABathing" Watermark="False" Width="Auto" Height="Auto" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinHeight="60" MinWidth="{StaticResource ChartMinWidth}" CornerRadius="11,0.5" FontSize="8" Background="Transparent" Grid.Column="1" Grid.Row="0"> <vc:Chart.PlotArea> <vc:PlotArea Background="#00000000" /> </vc:Chart.PlotArea> <vc:Chart.Titles> <vc:Title Text="CNABathing" /> </vc:Chart.Titles> <vc:Chart.AxesX> <vc:Axis IntervalType="Days" ValueFormatString="MMM-d" Interval="1"> <vc:Axis.AxisLabels> <vc:AxisLabels Angle="0" /> </vc:Axis.AxisLabels> </vc:Axis> </vc:Chart.AxesX> <vc:Chart.Series> <vc:DataSeries RenderAs="Column" DataSource="{Binding CNABathingData}" XValueFormatString="MMM-d"> <vc:DataSeries.DataMappings> <vc:DataMapping MemberName="XValue" Path="Day" /> <vc:DataMapping MemberName="YValue" Path="Count" /> </vc:DataSeries.DataMappings> </vc:DataSeries> </vc:Chart.Series> </vc:Chart> <vc:Chart x:Name="CNABowel" Watermark="False" Width="Auto" Height="Auto" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinHeight="60" MinWidth="{StaticResource ChartMinWidth}" CornerRadius="11,0.5" FontSize="8" Background="Transparent" Grid.Column="2" Grid.Row="0"> <vc:Chart.PlotArea> <vc:PlotArea Background="#00000000" /> </vc:Chart.PlotArea> <vc:Chart.Titles> <vc:Title Text="CNABowel" /> </vc:Chart.Titles> <vc:Chart.AxesX> <vc:Axis IntervalType="Days" ValueFormatString="MMM-d" Interval="1"> <vc:Axis.AxisLabels> <vc:AxisLabels Angle="0" /> </vc:Axis.AxisLabels> </vc:Axis> </vc:Chart.AxesX> <vc:Chart.Series> <vc:DataSeries RenderAs="Column" DataSource="{Binding CNASource}" XValueFormatString="MMM-d"> <vc:DataSeries.DataMappings> <vc:DataMapping MemberName="XValue" Path="Day" /> <vc:DataMapping MemberName="YValue" Path="Count" /> </vc:DataSeries.DataMappings> </vc:DataSeries> </vc:Chart.Series> </vc:Chart> <vc:Chart x:Name="CNAIntakeVsOutput" Watermark="False" Width="Auto" Height="Auto" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinHeight="60" MinWidth="{StaticResource ChartMinWidth}" CornerRadius="11,0.5" FontSize="8" Background="Transparent" Grid.Column="2" Grid.Row="2"> <vc:Chart.PlotArea> <vc:PlotArea Background="#00000000" /> </vc:Chart.PlotArea> <vc:Chart.Titles> <vc:Title Text="CNAIntakeVsOutput" /> </vc:Chart.Titles> <vc:Chart.AxesX> <vc:Axis IntervalType="Days" ValueFormatString="MMM-d" Interval="1"> <vc:Axis.AxisLabels> <vc:AxisLabels Angle="0" /> </vc:Axis.AxisLabels> </vc:Axis> </vc:Chart.AxesX> <vc:Chart.Series> <vc:DataSeries RenderAs="Column" DataSource="{Binding Data}" XValueFormatString="MMM-d"> <vc:DataSeries.DataMappings> <vc:DataMapping MemberName="XValue" Path="Day" /> <vc:DataMapping MemberName="YValue" Path="Count" /> </vc:DataSeries.DataMappings> </vc:DataSeries> </vc:Chart.Series> </vc:Chart> </Grid> </StackPanel> </Button>
解决方法
网格行和列索引从0开始.由于您的网格是2×2,可用的最高列/行索引是1,但您在CNAIntakeVsOutput和CNABowel上将其设置为2
由于指定的行/列不存在,默认位置为0,这意味着您有两个对象在顶部(仔细查看第一行中的第二列)
将CNABowel上的CNAIntakeVsOutput和Grid.Column上的Grid.Row和Grid.Column更改为1,它应该正确呈现.
编辑
我还建议在Grid中使用* size列,而不是aboslute列,因此无论屏幕大小如何,它们都会显示整个对象.
<Grid.RowDeFinitions> <RowDeFinition Height="*" /> <RowDeFinition Height="*" /> </Grid.RowDeFinitions> <Grid.ColumnDeFinitions> <ColumnDeFinition Width="*" /> <ColumnDeFinition Width="*" /> </Grid.ColumnDeFinitions>
这将使您的Grid具有两个大小相同的列和两个大小相等的行.