C#图表适合一个选项卡

我有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具有两个大小相同的列和两个大小相等的行.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...