Die UI-Combobox stürzt in der WPF C# .NET 8.0-App abC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die UI-Combobox stürzt in der WPF C# .NET 8.0-App ab

Post by Anonymous »

Ich habe eine WPF C#-Legacy-App, die ursprünglich für .NET 4.6 geschrieben und auf .NET 8.0 migriert wurde. In einem der Fenster habe ich eine Combobox, die abstürzt, wenn ein beliebiges Element davon ausgewählt wird.
Es stürzt mit folgendem Fehler ab:

System.InvalidCastException: Objekt vom Typ „System.Windows.Automation.Peers.ComboBoxAutomationPeer“ kann nicht in Typ umgewandelt werden.“ 'System.Windows.Automation.Provider.IScrollProvider'

Hier ist das XAML-Markup:

Code: Select all

Comercial:




Hier ist der Code, der dahinter steckt, wo dies verwendet wird:

Code: Select all

public void LoadCaptadores()
{
try
{
AccessDB db = new AccessDB();
SqlDataReader dr = db.ExecuteReturnSqlDataReader("SELECT id, nombre, apellidos FROM Captador");

var itemsCaptador = new List();
var itemsCaptador1 = new List();
var itemsCaptador3 = new List();

itemsCaptador.Add(new ComboBoxItem { Tag = "-1", Content = "Captador" });
itemsCaptador1.Add(new ComboBoxItem { Tag = "-1", Content = "Captador" });
itemsCaptador3.Add(new ComboBoxItem { Tag = "-1", Content = "Usuario" });

if (dr != null)
{
while (dr.Read())
{
string id = dr.GetValue(0).ToString();
string fullName = $"{dr.GetValue(1)} {dr.GetValue(2)}";

itemsCaptador.Add(new ComboBoxItem { Tag = id, Content = fullName });
itemsCaptador1.Add(new ComboBoxItem { Tag = id, Content = fullName });
itemsCaptador3.Add(new ComboBoxItem { Tag = id, Content = fullName });
}
}
else
{
w.Dispatcher.Invoke(() => w.ShowNotif(2));
}

db.Close();

Dispatcher.Invoke(() =>
{
captador.Items.Clear();
captador1.Items.Clear();
captador3.Items.Clear();

foreach (var item in itemsCaptador)
captador.Items.Add(item);
foreach (var item in itemsCaptador1)
captador1.Items.Add(item);
foreach (var item in itemsCaptador3)
captador3.Items.Add(item);

captador.SelectedIndex = 0;
captador1.SelectedIndex = 0;
captador3.SelectedIndex = 0;
});
}
catch (Exception)
{
w.Dispatcher.Invoke(() => w.ShowNotif(2));
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post