Диаграммы C # для размещения на одной вкладке - PullRequest
4 голосов
/ 08 декабря 2011

У меня есть код C #, который делает вкладки. Мне нужно объединить 4 вкладки в 1. В левом нижнем углу вы можете увидеть:

Screenshot

Код для этого: я думаюпроблема указана на строке сетки и столбце сетки, как вы можете видеть, что есть наложение, а 4-я вкладка вообще не отображается.

        <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,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,11,11,11"
              RenderTransformOrigin="0.5,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,11,11,11"
              RenderTransformOrigin="0.5,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,11,11,11"
              RenderTransformOrigin="0.5,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>

1 Ответ

1 голос
/ 08 декабря 2011

Индексы строк и столбцов сетки начинаются с 0. Поскольку ваша сетка имеет размер 2x2, самый высокий доступный индекс столбцов / рядов равен 1, но он установлен на 2 для CNAIntakeVsOutput и CNABowel

Поскольку указанная строка / столбец не существует, положение по умолчанию равно 0, что означает, что у вас есть два объекта друг над другом (более внимательно посмотрите на 2-й столбец в 1-й строке)

Измените значения Grid.Row и Grid.Column на CNAIntakeVsOutput и Grid.Column на CNABowel на 1, и они должны отображаться правильно.

Редактировать

Я бы также порекомендовал использовать * столбцы размера в вашей сетке, а не темные, чтобы они отображали весь объект независимо от размера экрана.

<Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

Это позволит вашей сетке иметь два столбца одинакового размера и две строки одинакового размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...