0

小さなグラフを描画する wpf UserControl があります。UserControl は、グリッド内で複数回レンダリングされます。残念ながら、UserControl が複数回表示されると、AccessViolation Exception が発生します。

AccessViolation 例外は、他の描画の後にスローされます (FillRectangle 呼び出しのみ)。

コードは次のようになります。

var bmp = BitmapFactory.New(200, 30);
using (bmp.GetBitmapContext())
{
    bmp.FillRectangle(0, 0, (int)bmp.Width , (int)bmp.Height , MyColors.WhiteSmoke);

    // .. some calculations and rectangle drawings

    bmp.FillRectangle(vX1, vY1, vX2, vY2, Colors.RosyBrown);  //<- Violation Exception
}

奇妙なことは次のとおりです。 最後の行を次のように変更すると:

bmp.FillRectangle(vX1, vY1, vX2, vY2, Color.FromArgb(100, Colors.RosyBrown.R, Colors.RosyBrown.G, Colors.RosyBrown.B));

すべて正常に動作します。

WritableBitmap を使用するのはこれが初めてです。私は何か間違ったことをしていますか?

4

0 に答える 0