以前は vb.net を使用していましたが、C# を探索したいと考えています。(彼らは、c#はvb.netよりも優れていると言いました)しかしとにかく...私は親ウィンドウでコントロールを呼び出すvb.netから以下のこのコードを使用しました。
Dim strWindowToLookFor As String = GetType(MainWindowForm).Name
Me.Close()
Dim win = (From w In Application.Current.Windows Where DirectCast(w, Window).GetType.Name = strWindowToLookFor Select w).FirstOrDefault
If win IsNot Nothing Then
DirectCast(win, MainWindowForm).imglogin.Visibility = Windows.Visibility.Visible
DirectCast(win, MainWindowForm).Focus()
End If
以前に他のフォーラムでこのコードを見つけて、vb.net で大いに役立ちました...しかし、今はこのコードを c# で使用してコントロールを呼び出したい...だから、SharpDevelop (優れたソフトウェア) を使用して変換しました。 ...
string strWindowToLookFor = typeof(MainWindowForm).Name;
this.Close();
var win = (from w in Application.Current.Windowswhere ((Window)w).GetType().Name == strWindowToLookForw).FirstOrDefault;
if (win != null) {
((MainWindowForm)win).imglogin.Visibility = System.Windows.Visibility.Visible;
((MainWindowForm)win).Focus();
}
問題は、エラーが発生することです。
エラー 1 ソース タイプ 'System.Windows.WindowCollection' のクエリ パターンの実装が見つかりませんでした。「場所」が見つかりません。範囲変数 'w' の型を明示的に指定することを検討してください。
エラー #1 は、Application.Current.Windows を強調表示しました。
エラー 2 クエリ本体は select 句または group 句で終了する必要があります