DynamicDataDisplay-BarChart

来源:http://www.cnblogs.com/kft-upc/archive/2016/06/16/5592408.html
-Advertisement-
Play Games

對於d3的BarChart,其數據源為ItemsSource,支持bingding。 <d3:BarChart ItemsSource="{Binding SampleDatas}"> <d3:TemplateMarkerGenerator> <DataTemplate> <Rectangle St ...


對於d3的BarChart,其數據源為ItemsSource,支持bingding。

<d3:BarChart ItemsSource="{Binding SampleDatas}">
  <d3:TemplateMarkerGenerator>
    <DataTemplate>
      <Rectangle Stroke="BlanchedAlmond" StrokeThickness="0" StrokeLineJoin="Round"
            d3:ViewportPanel.X="{Binding X}"
            d3:ViewportPanel.Y="0"
            d3:ViewportPanel.ViewportVerticalAlignment="Bottom"
            d3:ViewportPanel.ViewportHeight="{Binding Ymax}"
            Width="10"
            Fill="Blue"
            ToolTip="{Binding Ymax}" ToolTipService.InitialShowDelay="0"/>
    </DataTemplate>
  </d3:TemplateMarkerGenerator>
</d3:BarChart>

是利用綁定傳給了ItemsSource數據,柱狀圖中的Marker是利用ViewportPanel的屬性確定的位置,大小,其中X確定X值,Y確定marker在Y軸上的最小值,ViewportHeight確定marker的高度,ViewportWidth確定寬度。

其中SampleDatas為

private ObservableCollection<SampleDataForBar> _sampleDatas;

public ObservableCollection<SampleDataForBar> SampleDatas
{
    get { return _sampleDatas; }
    set
      {
        _sampleDatas = value;
        OnPropertyChanged("SampleDatas");//屬性更改通知
      }
}

public class SampleDataForBar:BindableBase
{
  private double x;
  public double X
  {
    get { return x; }
    set
      {
        x = value;
        OnPropertyChanged("X");
      }
  }


  private double ymax;

  public double Ymax
  {
    get { return ymax; }
    set
      {
        ymax = value;
        OnPropertyChanged("Ymax");
      }
  }

}

SampleDataForBar類就是為了支持BarChart中的ItemsSource屬性,其中規定了X,和Ymax。

這樣只需要給SmpleDatas屬性賦值,既可以畫出柱狀圖。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 語法:find [路徑] [參數] [action] -name filename,查找名為filename的文件 -iname filename,查找名為filename的文件,但是不區分大小寫 -user username,查找屬主為username的文件 -group groupname,查找 ...
  • 1、啟動 2、停止 快速停止 kill -TERM 主進程號 強制停止 kill -9 nginx 3、重啟 如果更改了配置就要重啟Nginx,要先關閉Nginx再打開?可以向Nginx 發送信號,平滑重啟。 平滑重啟命令: kill -HUP 主進程號或進程號文件路徑 或者使用 /usr/ngin ...
  • 用.NET下托管語言C#操作註冊表,主要內容包括:註冊表項的創建,打開與刪除、鍵值的創建(設置值、修改),讀取和 刪除、判斷註冊表項是否存在、判斷鍵值是否存在。 準備工作: 1:要操作註冊表,我們必須要引入必要的命名空間: using Microsoft.Win32; 在這個命名空間裡面包含了許多註 ...
  • 當我們安裝微軟的軟體,多數軟體是需要輸入license key。它有五個文本框,輸入完第一個文本框之後,游標自動跳至下一個文本框。Insus.NET今天也使用asp.net來模仿一個。呵呵。 這個演示,在輸入時,是不需要與服務端交互,只有全部輸入完畢之後,用戶點銨鈕才進行驗證。因此在這裡,寫Java ...
  • 本文內容 提高 Web 站點性能的最佳實踐 修改記錄 下麵是使頁面更快的35個最佳實踐,它們被劃分為7個類別。 類別: content、server、cookie、css、javascript、images、mobile (Yahoo 開發的瀏覽器插件 YSLOW,利用這七個類作為評價頁面的指標) ...
  • 1.創建一個MVC項目,選擇API 2.在Models層里添加Product類,IProductRepository介面,ProductRepository類 public class Product { public int ID { get; set; } public string Name ...
  • WinForm中DataGridView功能強大,除了可以自動綁定數據源外,還可以根據需求編輯列。下麵以截圖說明添加編輯列的步驟(HoverTreeSCJ 項目實際界面)。1.選擇DataGridView控制項,會在右上角出現黑色的小三角形,點擊出現快捷菜單:2.點擊“編輯”,就可以在彈出視窗添,刪除 ...
  • 各個系統之間進行數據交互是重要的部分,WebService是一個平臺獨立的,低耦合的,自包含的、基於可編程的web的應用程式,使用較為方便,閑話少說,正式進入到關於在.Net中調用java開發的介面。 目前JAVA開發WebService的方式很很多種:Axis2、CXF、xfire等等,但是在.N ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...