2 つのフィールドと描画用のいくつかのメソッドを持つクラスがあります。
public class DrawingTool
{
private readonly DrawingGroup _drawingGroup;
private DrawingImage _imageSource;
public DrawingTool()
{
_drawingGroup = new DrawingGroup();
_imageSource = new DrawingImage(_drawingGroup);
}
public DrawingImage GetImageSource()
{
return _imageSource;
}
public void DrawSomething()
{
using (DrawingContext dc = _drawingGroup.Open()) // HERE'S AN ERROR - _drawing group is being used by another thread (InvalidOperationException)
{
// draw something here
}
}
}
これはWPF
プロジェクトなので、次のものもありますImage
。
<Image x:Name="MyImage" Width="320" Height="240"></Image>
ソースを設定しました:
_drawingTool = new DrawingTool();
Dispatcher.Invoke(() => MyImage.Source = _drawingTool.GetImageSource());
_device.FrameReady += (sender, args) => Dispatcher.Invoke(() =>
{
_drawingTool.DrawSomething();
});
コメントからエラーが発生しています...DrawSomething()
メソッドを呼び出しCheckAccess()
て_drawingGroup
内部で使用しようとしましDrawSomething()
たが、役に立ちませんでした。働くことを可能にする方法は?事前に助けてくれてありがとう!
[編集
1 DrawingGroup
。
[編集 2.]
誰もアイデアを持っていませんか? :(