0

ScottPlot WPF コントロールがデータ テンプレート内に配置され、プロットに使用される場合、何もレンダリングされません。次のコードが機能しない理由がわかりません。

これは私の見解です:

<Window x:Class="Client.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Client"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <DataTemplate x:Key="DataPlotTemplate">
            <StackPanel>
                <TextBlock Text="{Binding Title}"/>
                <WpfPlot MinHeight="300" MinWidth="300" Content="{Binding DataPlot}"/>
                <TextBlock Text="{Binding Description}"/>
            </StackPanel>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <ContentControl Content="{Binding DataPlotVm0}"
                            ContentTemplate="{StaticResource DataPlotTemplate}"/>
            <ContentControl Content="{Binding DataPlotVm1}"
                            ContentTemplate="{StaticResource DataPlotTemplate}"/>
        </StackPanel>
    </Grid>
</Window>

これは私のビューモデルです:

public class DataPlotViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChange(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }

    private string title = "";
    public string Title
    {
        get { return title; }
        set
        {
            title = value;
            OnPropertyChange("Title");
        }
    }

    public ScottPlot.WpfPlot DataPlot { get; set; } = new ScottPlot.WpfPlot();

    private string description = "";
    public string Description
    {
        get { return description; }
        set
        {
            description = value;
            OnPropertyChange("Description");
        }
    }
}

DataPlotビューモデルをプロットに使用すると、何も表示されません。

4

1 に答える 1