正確に説明する方法はわかりませんが、基本的に私の問題を再現する方法は次のとおりです。
- VB.NETでWPFWindowsアプリケーションプロジェクトを作成します(作成しないでください。信じられない場合を除いて、これを読み続けてください...)
- ウィンドウのヘッダーをクリックして、Window.Loadedイベントハンドラーを作成し、そこに移動します。
- イベントハンドラに以下を追加します。
My.User.CurrentPrincipal = New GenericPrincipal( _
New GenericIdentity("username"), Nothing)
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'True' - ウィンドウデザイナに戻り、Window1にボタンを追加します。
- ボタンをクリックしてClickイベントハンドラーを作成し、そこに移動します。
- 次のコンテンツを追加します。
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'False' - アプリケーションを実行し、結果を確認します
- なぜ今それは間違っているのか!?!?
更新:http://connect.microsoft.com/WPF/feedback/ViewFeedback.aspx?FeedbackID = 513731でバグを報告しました。投票するか、回避策を投稿してください。そうしたら、事前に感謝します。
どんな回避策も歓迎されます!