Есть ли способ построить график OXYplot в пользовательской области в окне WPF? - PullRequest
0 голосов
/ 10 февраля 2020

Я хочу поместить несколько графиков в одно окно WPF, используя библиотеку OXYplot, поэтому будет несколько компонентов WPF (таких как кнопки) и несколько прямоугольников с графиками. Есть ли способ сделать это? Во всех примерах граф OXYplot занимает все окно WPF.

Я пытался поместить его в прямоугольник, как это, но получил ошибку «Тип« Прямоугольник »не поддерживает прямой контент»

<Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="100" Margin="932,547,0,0" Stroke="Black" VerticalAlignment="Top" Width="100">
   <oxy:PlotView Model="{Binding Model}"/>
</Rectangle>

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Поместите его в Панель или украсьте его Border:

<Border Background="Yellow" BorderBrush="Black" BorderThickness="1" Padding="10">
    <oxy:PlotView Model="{Binding Model}"/>
</Border>

A PlotView - это просто пользовательский Control, который можно использовать в макете как и любой другой элемент управления в WPF.

0 голосов
/ 12 февраля 2020

Для простоты вы также можете использовать Grid, чтобы расположить несколько PlotView и кнопок в желаемом макете.

<Grid Margin="10">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid Grid.Column="0" Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="3*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <oxy:PlotView Height="500" Width="500" Model="{Binding GraphModel1}"/>
            <Button Grid.Column="1" Content="Click"/>
        </Grid>
        <Grid Grid.Column="1" Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="3*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <oxy:PlotView Height="500" Width="500" Model="{Binding GraphModel2}"/>
            <Button Grid.Column="1" Content="Click"/>
        </Grid>
        <Grid Grid.Column="1" Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="3*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <oxy:PlotView Height="500" Width="500" Model="{Binding GraphModel3}"/>
            <Button Grid.Column="1" Content="Click"/>
        </Grid>
        <Grid Grid.Column="0" Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="3*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <oxy:PlotView Height="500" Width="500" Model="{Binding GraphModel4}"/>
            <Button Grid.Column="1" Content="Click"/>
        </Grid>
    </Grid>
...