2016-08-03 14 views
-1

Mein Combobox-Element wird nicht angezeigt. Es funktioniert gut auf Visual Studio 2015. Aber wenn ich das in Visual Studio 2013 versuche, zeigt es nichts. Ich habe einen Debug-Punkt in der ComboBox_Loaded-Funktion gesetzt und daraus habe ich gesehen, dass die letzten 3 Zeilen vom Compiler übersprungen werden. Wie kann ich es für Visual Studio 2013 lösen. Vielen Dank im Voraus.ComboBox Element ist nicht in WPF geladen

<Window x:Class="GraphicalUserInterface.ShowDataByObjectsWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="ShowDataByObjectsWindow" Height="300" Width="300"> 
<Grid Background="#FFE5E5E5"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 
    <StackPanel Grid.Row="0" Margin="10"> 
     <TextBlock FontWeight="Bold" Text="Object Options"/> 
     <ComboBox x:Name="dbObjects" Loaded="ComboBox_Loaded" SelectionChanged="ComboBox_SelectionChanged"/> 
    </StackPanel> 
</Grid> 

public partial class ShowDataByObjectsWindow : Window 
{ 
    public List<string> dataTableName = new List<string>(); 
    public static string comboItem; 

    public ShowDataByObjectsWindow() 
    { 
     InitializeComponent();   
    } 

    private void ComboBox_Loaded(object sender, RoutedEventArgs e) 
    { 
     dataTableName.Add("adasd"); 
     dataTableName.Add("adaasdsd"); 


     var comboBox = sender as ComboBox; 
     comboBox.ItemsSource = dataTableName; 
     comboBox.SelectedIndex = 0; 
    } 

    private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     var comboBox = sender as ComboBox; 

     string value = comboBox.SelectedItem as string; 
     this.Title = "Selected: " + value; 
    } 
} 
+0

"Ich habe gesehen, dass die letzten 3 Zeilen vom Compiler übersprungen werden": versuchen Sie, eine Neuerstellung Ihres Projekts zu säubern und zu erzwingen. Es scheint, dass Sie eine ältere Version Ihrer WPF-Anwendung ausführen. –

+0

Ich habe gereinigt und wieder aufgebaut. Es ist immer noch dasselbe. Kein Update – Aarav

Antwort

1

Versuchen Sie, diese

public ObservableCollection<String> Items { get; set; } 

//public 
public MainWindow() 
{ 
    InitializeComponent(); 

    Items = new ObservableCollection<string>(); 
    Items.Add("test"); 

    DataContext = this; 
} 

und Ihre Ansicht

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <ComboBox HorizontalAlignment="Left" ItemsSource="{Binding Path=Items}" Margin="155,56,0,0" VerticalAlignment="Top" Width="120"/> 

    </Grid> 
</Window> 

es funktioniert ändern!

+0

Hallo, dein Beispiel funktioniert. Aber wenn ich versuche, meinen Datenbanktabellennamen in Elementen hinzuzufügen, hat es eine Ausnahme wie "Eine Ausnahme vom Typ 'System.ArgumentException' in System.Data.Entity.dll aufgetreten. Zusätzliche Informationen: Der angegebene Store-Provider kann nicht sein in der Konfiguration gefunden oder ungültig. " Das Codebeispiel ist 'var eData = new DBEntities(); Elemente = neue ObservableCollection (); Items.Add ("test"); Items.Add ("adasd"); Items.Add ("adaasdsd"); Items.Add (Convert.ToString (eData.Table1)); ' – Aarav