現在、WPFでSelectionBorderというクラスを実装しています。これは、Shapeクラスから派生しています。
基本的には次のようになります。
public class SelectionBorder : Shape
{
public Point StartPoint {get; set;}
public PointCollection Points {get; set;}
public double StrokeLength {get; set;}
protected override Geometry DefiningGeometry{
get{
//Magic!
}
}
}
StartPointプロパティとPointsプロパティは、境界線の角を決定します。境界線は、典型的な線の境界線です(1つの黒い線、そのような1つの見えない線:--------)
私が今抱えている問題は、コーナーポイントが自由に選択できるため、ストロークの数(黒と目に見えないストロークを意味する)が均一ではない(実際には整数でもない)ため、最初のストロークがその他(写真に表示)。これは大したことではないように思われるかもしれませんが、後でストロークがコンテンツの周りを一周するように境界線をアニメーション化したいと思います。このアニメーションを実行すると、静的ビューの小さな欠陥がはっきりと見えるようになり、私の意見では非常に不安になります。
代替テキストhttp://img14.imageshack.us/img14/2874/selectionborder.png
問題は、元のStrokeLengthにできるだけ近くなり、偶数のストロークを作成するStrokeLengthを決定しようとしたことです。ただし、私が遭遇した問題は、WPFが(明らかに)小数点以下2桁のStrokeLengthの全体の精度を表示できないため、結果のストローク数が再び不均一になることです。
この問題の回避策はありますか?私の問題に対する別の解決策はおそらくありますか?
前もって感謝します!
編集:私は今日フィットネスのために少し休憩した後、コードを再テストしてレビューしました、そして結局それは非常に大きなStrokeLengthsでのみ起こります。StrokeLengths 2を使用する予定です。この場合、アニメーションのジャンプは、当初考えていたよりもはるかに重要ではありません。