首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图形可以在第一个选项卡项上工作,但不能在第二个选项卡项上工作?

图形可以在第一个选项卡项上工作,但不能在第二个选项卡项上工作?
EN

Stack Overflow用户
提问于 2011-10-06 18:38:06
回答 1查看 844关注 0票数 1

我正在使用Wpf Toolkit处理图形,我意识到当我将它作为第二个tabitem放置时,它不起作用。可能的问题是什么?

这是我的图表:

代码语言:javascript
复制
<TabControl>
    <TabItem Header="PowerFlow">
    </TabItem>
    <TabItem Header="Graph" Name="Graphs">
        <ScrollViewer HorizontalScrollBarVisibility="Auto" 
VerticalScrollBarVisibility="Auto" Margin="0,-28,0,28">
            <Grid Height="921" Background="DarkGray">
                <chartingToolkit:Chart  Name="lineChart" Title="Power Graph" Background="YellowGreen" Foreground="DarkBlue"                   
               VerticalAlignment="Top" Margin="16,36,20,0" Height="432"  IsEnabled="True" >
                    <chartingToolkit:LineSeries Title="SolarCell"     
    ItemsSource="{Binding}" DependentValueBinding="{Binding Path=Value}" 
    IndependentValueBinding="{Binding Path=Key}"
         IsSelectionEnabled="True" DataContext="{Binding}">
                        <chartingToolkit:LineSeries.DependentRangeAxis>
                            <chartingToolkit:LinearAxis Orientation="Y" Title="Power (W)"></chartingToolkit:LinearAxis>
                        </chartingToolkit:LineSeries.DependentRangeAxis>
                    </chartingToolkit:LineSeries>
                </chartingToolkit:Chart>
                <Button Content="Refresh" Height="23" HorizontalAlignment="Left" Margin="718,391,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
                <TextBox Height="23" HorizontalAlignment="Left" Margin="696,73,0,0" Name="textBox7" VerticalAlignment="Top" Width="97" Loaded="textBox7_Loaded" />
                <Label Content="Time started:" Height="28" HorizontalAlignment="Left" Margin="606,73,0,0" Name="label1" VerticalAlignment="Top" Width="84" />
            </Grid>
        </ScrollViewer>
    </TabItem>
</TabControl>
</Window>

和后面的代码:

代码语言:javascript
复制
public partial class MainWindow : Window
{
    ObservableCollection<KeyValuePair<double, double>> Power = new ObservableCollection<KeyValuePair<double, double>>();
    double i = 0;

    public MainWindow()
    {

        InitializeComponent();
        TabItem Graphs = new TabItem();
        DispatcherTimer timer = new DispatcherTimer();
        timer.Interval = new TimeSpan(0, 0, 1);  // per 5 seconds, you could change it
        timer.Tick += new EventHandler(timer_Tick);
        timer.IsEnabled = true;
    }



    Random random = new Random(DateTime.Now.Millisecond);
    void timer_Tick(object sender, EventArgs e)
    {

        Power.Add(new KeyValuePair<double, double>(i, random.NextDouble()));
        i += 5;
        lineChart.DataContext = Power;

    }

}
}
EN

回答 1

Stack Overflow用户

发布于 2011-10-06 20:32:50

如果您删除行

代码语言:javascript
复制
DataContext="{Binding}"

在LineSeries中,它应该可以工作。不幸的是,我不能解释为什么它不工作。但由于DataContexts通常派生在控件层次结构中,所以在这一点上没有必要,并以某种方式导致了这个奇怪的问题。

HTH

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7673147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档