轉帖|使用教程|編輯:龔雪|2016-03-08 09:21:01.000|閱讀 572 次
概述:在上文中,我們介紹了如何添加簡單的綁定標記。而且代碼都是實用XAML markup來實現的。有的客戶經常使用的是代碼,本文就在上文的基礎上,演示如何使用C#代碼完成這些事情。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
<ComponentOne Studio for WPF下載>
在上文中,我們介紹了如何添加簡單的綁定標記。而且代碼都是實用XAML markup來實現的。有的客戶經常使用的是代碼,本文就在上文的基礎上,演示如何使用C#代碼完成這些事情。
添加C1Chart到頁面。您可以拖拽一個C1Chart到頁面,也可以實用代碼在cs文件里添加。有關如何在cs文件里通過代碼添加C1Chart,請參考上文的內容。
通過代碼創建一個新的ChartPanel。
var pnl = new ChartPanel();
完成第二步后,就可以添加一個新的ChartPanelObject然后設置它的方向。
var obj = new ChartPanelObject() { HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Bottom };
添加一個border元素:
var bdr = new Border() { Background = new SolidColorBrush(Colors.Green) { Opacity = 0.4 } BorderBrush = new SolidColorBrush(Colors.Green), BorderThickness = new Thickness(1, 1, 3, 3), CornerRadius = new CornerRadius(6, 6, 0, 6), Padding = new Thickness(3) };
添加一個StackPanel元素包含兩個TextBlock控件,注意它綁定了ChartPanelObject數據源。代碼參考:
var sp = new StackPanel(); var tb1 = new TextBlock(); var bind1 = new Binding(); bind1.Source = obj; bind1.StringFormat = "x={0:#.##}"; bind1.Path = new PropertyPath("DataPoint.X"); tb1.SetBinding(TextBlock.TextProperty, bind1); var tb2 = new TextBlock(); var bind2 = new Binding(); bind2.Source = obj; bind2.StringFormat = "y={0:#.##}"; bind2.Path = new PropertyPath("DataPoint.Y"); tb2.SetBinding(TextBlock.TextProperty, bind2); sp.Children.Add(tb1); sp.Children.Add(tb2); bdr.Child = sp;
設置ChartPanelObject的Content,DataPoint和Action屬性,然后添加ChartPanelObject到ChartPanel。最后一行代碼添加layers集合到C1Chart控件。
obj.Content = bdr; obj.DataPoint = new Point(); obj.Action = ChartPanelAction.MouseMove; pnl.Children.Add(obj); chart.View.Layers.Add(pnl);
最后一行代碼需要設置Attach屬性。
obj.Action = ChartPanelAction.MouseMove;
如上代碼,就可以創建一個圖表的標記,隨著鼠標位置而變換。
在圖表上鼠標移動,就會顯示相應數據的標記。
本文的詳細代碼如示例所示:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網