Ich habe die Suche nach oben und unten der Bahn und leider kam nie ganz über ein Thema wie meine, geht so hier:C#, WPF - Openfile nicht angezeigt
Meine C# WPF-Anwendung wird mir nicht keine OpenFileDialogs zeigen oder SafeFileDialogs.
private void btnBrowseNet_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.CheckPathExists = true;
ofd.Multiselect = false;
ofd.Title = "Open Network Configuration Batch file...";
ofd.ValidateNames = true;
ofd.Filter = "Comma Seperated Value Files|*.csv";
if (ofd.ShowDialog() == true)
{
//...
}
}
Diese exakte Code tut in einer Gelegenheit genau das, was es soll, und kaum fünf Minuten später tun kann ich auf die Schaltfläche alles, was ich will, passiert nichts, aber der Mauszeiger in einen kleinen Besetztanzeige drehen und dann nichts. Ich kann durch die Methode Schritt oder etwas tun, wie dieses
bool? shown = ofd.ShowDialog();
Aber egal was, wird der Dialog nicht mehr anzeigen. Natürlich wird in diesem Fall gezeigt, dass es falsch ist. Ich habe anderthalb Stunden damit verbracht, gestern und rechts zu suchen, als ich aufhörte. Ich versuchte es noch einmal und plötzlich funktionierte es. Manchmal funktioniert es, manchmal nicht. Aber es scheint projektspezifisch zu sein, weil ich denselben Code in ein neues Projekt einfügen kann und es so funktioniert, wie es soll. Das ist auch das Einzige an dem Projekt, das fischig wirkt. Alles andere funktioniert wie vorgesehen.
Hat jemand hier jemals etwas Ähnliches erlebt und somit eine Idee von dem, was ich tun könnte? Jede Hilfe könnte sehr geschätzt werden.
Als Bezugspunkt zu diesen Antworten scheint dies "Microsoft.Win32.OpenFileDialog" und nicht das äquivalente "System.Windows.Forms.OpenFileDialog" zu sein. –
Ja, das stimmt - Danke für die Klarstellung! – Koarl
Es ist eine alte Frage, aber ich habe das gleiche Phänomen mit einem VSTO-Add-in für Excel: "Manchmal funktioniert es, manchmal nicht." Es ist völlig unvorhersehbar. Leider verhindert weder das Experimentieren mit STA-Threads noch das Erstellen von (Dummy-) Formularen oder WPF-Fenstern vor dem Aufruf von OpenFileDialog.ShowDialog() (wie unten vorgeschlagen) dieses Verhalten. – bovender