問題タブ [visiblox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# Silverlight での DispatcherTimer と UI 更新の制限
繰り返しますが、皆さんにとって簡単な質問かもしれません。Silverlight の舞台裏で行われていることについて、私はあまり理解していません。
ポイントを追加および削除して、20 ミリ秒ごとに更新されるローリング スコープとして使用するグラフ作成アプリ (Visiblox) があります。擬似コード:
このチャート作成ツールで 6 シリーズを実行すると、少し遅くなり始めました。ティックを 10ms に変更しても何の違いもありませんでした。チャートは同じ速度で更新されたので、20ms が速度制限 (UI またはチャート?) のようです。
で試してみたCompositionTarget.Rendering
ところ、同じ結果が得られました。20ms 以下では、速度に違いはありませんでした。
その後、誤って両方を有効にして速度が 2 倍になりました。そこで、複数のスレッド (2、3、4) でテストし、速度を 2 倍、3 倍、4 倍にしました。ロックを生成する必要があるプロセスがわからないため、これにはまだロックがありませんが、データの破損やメモリリークはありません。
私が持っている質問は、なぜ 20 ミリ秒で遅いチャートが 10 ミリ秒で実行できないのに、マルチスレッド化すると途方もなく高速になるのかということです。UI の更新プロセスは高速化されていますか? チャートの計算は 2 倍になりますか? または、単一の DispatcherTimer を実行できる速度に制限はありますか?
ありがとう!
編集:私は組み込みコーディングのバックグラウンドを持っているので、スレッドとタイミングについて考えると、すぐにハードウェアのピンを切り替えてスコープを接続してプロセスの長さを測定することを考えます。私は C# のスレッドが初めてで、スコープを接続するためのピンがありません。スレッドのタイミングをグラフィカルに表示する方法はありますか?
c# - VISIBLOX、WPF:チャートポイントを水平方向にスクロールさせる?
Visiblox WPF APIを使用していますが、折れ線グラフのグラフポイントを水平方向にスクロールするのに問題があります。スクロールする代わりに、ポイントが一緒に押しつぶされます。これは、チャート上に数百のデータポイントがあると予想されることを除いて、特に問題ではありません。Visiblox Webサイトで入手できる例をすべて調べましたが、探しているものが見つかりませんでした。スクリーンショットの例を添付しました。
何か案は?
助けてくれてありがとう、Sparky
wpf - Visiblox、WPF: ラベル付きマーカーをチャートに表示する
点やテキスト ラベル付きの垂直線などのマーカーを Visiblox チャートに追加する方法はありますか?
乾杯、ルッツ
c# - Visiblox チャートの直線軸を反転
Visiblox チャートで LinearAxis を反転することは可能ですか? たとえば、線形軸が Y 軸として使用されていて、軸の最小値と最大値が 1 と 10 の場合、1 が軸の上部に、10 が軸の上部になるように軸を反転させたいと思います。下。
c# - 軸が Visiblox チャートで指定された数の大目盛りを使用するように強制する
Visiblox チャートの Y 軸に LinearAxis を使用する場合、ツールキットで軸の範囲と目盛りの位置を自動的に計算しながら、軸に特定の数の大目盛りを強制的に使用させたいと考えています。たとえば、プライマリ Y 軸とセカンダリ Y 軸があり、両方の軸で同じ数の大目盛りを使用して、水平グリッド線が重なるようにしたいとします。これは可能ですか?
c# - Visiblox チャートで凡例テキストを折り返す
Visiblox チャートで凡例の幅を明示的に設定すると、凡例項目のテキストが折り返されずに途切れてしまうことがわかりました。例えば、
Chart コントロールの LegendTemplate プロパティを使用して、Legend クラスに ControlTemplate を提供できることはわかっています。ただし、子 LegendItem コントロールでテキストの折り返しを生成するためにこれを変更する方法がわかりません。また、LegendItem コントロールの描画に使用されるテンプレートを変更して、テキストの折り返しを生成する方法もわかりません。これを行う方法はありますか?
c# - Visiblox チャートでのパンまたはズーム後の軸の自動スケーリング
X 軸 (Y 軸ではなく) でズームとパンが可能な Visiblox 折れ線グラフがあります。チャートの特定の領域にズームまたはパンした後、表示されているデータのみに基づいて YAxis の範囲と目盛りを再計算したいと考えています。YAxis で AutoScaleToVisibleData="True" を設定しようとしましたが、ズームとパンが XAxis.Range を設定しないため、これは機能しません。YAxis の AutoScaleToVisibleData プロパティを有効にするには、XAxis.Range を変更する必要があります。
編集
私は今 IAxis.AdoptZoomAsRange() 関数を使用しようとしていますが、それを理解できないようです。以下の関連するコード例:
XAML:
分離コード:
xaml - c#でバインド要素を使用して長方形とテキストブロックをプログラムで作成する方法は?
プログラムで作成したい次のコードがあります。iはxamlの整数でなければなりません! これは VISIBLOX のサンプル コードです。
ほとんどのプログラムを作成できますが、 Path=Behaviour.Behaviours[0].CurrentPoints[i].Yで 2 日間立ち往生しています。プログラムで作成する方法を確認することは不可能です!
助けてくれてありがとう
編集
ITの仕事
c# - 画面に表示されるよりも大きくレンダリングされたUIElementの画像を保存する
ユーザーに表示しているグラフがあり、グラフを画像としてディスクにエクスポートして、アプリケーションの外部(プレゼンテーションなど)で使用できるようにしたいと考えています。
PngBitmapEncoderとRenderTargetBitmapを使用して基本的なアイデアを機能させることができましたが、そこから得られる画像は非常に小さく、実際に使用できるようになっているため、はるかに大きな画像を取得したいと考えています。
レンダリングしたいコントロールの高さと幅を単純に増やしようとしましたが、親がレンダリングサイズを直接制御しているようです。これから、メモリ内のUIElementを複製しようとしましたが、レンダリングサイズは(0,0)であり、Measure()Arrange()やUpdateLayout()などのメソッドを使用してレンダリングしようとすると、次のような例外がスローされます。これらを呼び出すために親を分離する必要がありますが、メモリ内にあり、レンダリングされていないため、親は存在しないはずですか?
これはすべてVisibloxチャートAPIで行われます
これが私が現在持っているものですが、それは機能しません:(
少し近づきました。グラフの背景を軸などにレンダリングしますが、グラフ化されている実際の線だけではありません。以下は更新されたソースです
だから私はこのようなものを出します:
これは大きいですが、何もグラフ化されていないため、役に立ちません。
zooming - Visiblox チャートの自動スケールを無効にする
線上のドットをドラッグしてリアルタイムでチャートを変更できる動的なチャートがありますが、Visiblox にはある種の自動スケール/ズームがあるため、まったく使用できません。
2 つの軸で AutoScaleToVisibleData = false を試しましたが、何もしません... ZoomBehaviour があり、ズームできるようにしたいのですが、自動にしたくありません