別のウィンドウのカスタム ツールチップとして使用するユーザー コントロール ライブラリがあります。ユーザー コントロールは、ディレクトリを参照する imagebrush の ImageSource を保持します。ウィンドウ内には、imagebrush と同じディレクトリに画像ファイルを生成する別のクラスがあります。
ただし、実行後に以下のエラーが発生します。コール スタックには、外部コードのみが含まれていました。「指定されたバインディング制約に一致するタイプ 'WpfApplication2.MainWindow' でのコンストラクターの呼び出しで、例外がスローされました。」行番号「4」と行位置「9」
これが私のスニペットです。
UserControl1.xaml
<UserControl.Resources>
<Style TargetType="Rectangle">
<Setter Property="Fill">
<Setter.Value>
<ImageBrush ImageSource="C:\Users\user\Desktop\wpf\WpfApplication2\WpfApplication2\Images/QR.png" Stretch="Fill" />
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
DisplayWindow.xaml
xmlns:myToolTip="clr-namespace:WpfControlLibrary2;assembly=WpfControlLibrary2"
<myToolTip:UserControl1 Visibility="Collapsed" x:Name="customToolTip" Width="468" Height="700" />
QRCodeEncoder.cs
public QrCodeEncodercs(string encodeString)
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
//const string encodeString = "123";
qrEncoder.TryEncode(encodeString, out qrCode);
Renderer renderer = new Renderer(11, System.Drawing.Brushes.Black, System.Drawing.Brushes.White);
renderer.CreateImageFile(qrCode.Matrix, @"C:\Users\user\Desktop\wpf\WpfApplication2\WpfApplication2\Images\QR.png\Images\QR.png",
ImageFormat.Png);
}
DisplayWindow.xaml.cs
上記のクラスのコンストラクターを実行すると。上記のエラーが発生しました。
qce = new QrCodeEncodercs(videoName);
実際に何が起こったのですか?ガイダンスはありますか?前もって感謝します。
Edit_ __ _InnerException
InnerException: System.Runtime.InteropServices.ExternalException
HResult=-2147467259
Message=A generic error occurred in GDI+.
Source=System.Drawing
ErrorCode=-2147467259
StackTrace:
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at Gma.QrCodeNet.Encoding.Windows.Controls.Renderer.CreateImageFile(BitMatrix matrix, String fileName, ImageFormat imageFormat)
at WpfApplication2.DisplayWindow.QrCodeEncodercs(String encodeString) in c:\Users\user\Desktop\wpf\KinectREAL\WpfApplication2\WpfApplication2\DisplayWindow..xaml.cs:line 127
at WpfApplication2.DisplayWindow.PopulateVideoListAndFirstVideo() in c:\Users\user\Desktop\wpf\KinectREAL\WpfApplication2\WpfApplication2\DisplayWindow..xaml.cs:line 157
at WpfApplication2.DisplayWindow..ctor() in c:\Users\user\Desktop\wpf\KinectREAL\WpfApplication2\WpfApplication2\DisplayWindow..xaml.cs:line 79
at WpfApplication2.MainWindow..ctor() in c:\Users\user\Desktop\wpf\KinectREAL\WpfApplication2\WpfApplication2\MainWindow.xaml.cs:line 45
InnerException: