Laden...

Befüllen einer Combobox mit COM Ports

Erstellt von McCona vor 2 Jahren Letzter Beitrag vor 2 Jahren 351 Views
M
McCona Themenstarter:in
3 Beiträge seit 2022
vor 2 Jahren
Befüllen einer Combobox mit COM Ports

Hallo, ich würde gerne eine Combobox befüllen mit den COM Ports des PCs. Finde aber meinen Fehler nicht.


<Window x:Class="Fernbedienung.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Fernbedienung"
        mc:Ignorable="d"
        xmlns:ports="clr-namespace:System.IO;assembly=System"
        
        Title="Roboter Fernsteuerung" Height="450" Width="800">

    <Window.Resources>
        <ObjectDataProvider ObjectType="{x:Type ports:SerialPort}" MethodName="GetPortNames" x:Key="portNames"/>
    </Window.Resources>
    
    <Grid Margin="20">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="0.25*"/>
            <RowDefinition Height="0.15*"/>
            <RowDefinition Height="0.15*"/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <Viewbox Grid.ColumnSpan="2">
            <Label>Fernbedienung Auto</Label>
        </Viewbox>

        <Button x:Name="btn_on" Grid.Column="0" Grid.Row="1" Margin= "10,5" Background="LightGreen" Click="btn_on_Click">
            <Viewbox Grid.ColumnSpan="2">
                <Label>On</Label>
            </Viewbox>
        </Button>

        <Button x:Name="btn_off" Grid.Column="1" Grid.Row="1" Margin= "10,5" Background="LightPink" Click="btn_off_Click">
            <Viewbox Grid.ColumnSpan="1">
                <Label>Aus</Label>
            </Viewbox>
        </Button>

        <Button Grid.Row="2" Grid.Column="1" Margin="10,5" Background="LightGray">
            <Label>Verbinden</Label>
        </Button>

        <ComboBox x:Name="portBox" ItemsSource="{Binding Source={StaticResource portNames}}" Grid.Row="2" Margin="10,5">

        </ComboBox>
        
    </Grid>
</Window>

Angezeigt wird mir folgende 2 Fehler:

Fehlermeldung:
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler XDG0008 Der Name "SerialPort" ist im Namespace "clr-namespace:System.IO;assembly=System" nicht vorhanden
Fehler Von dem Typverweis kann kein öffentlicher Typ mit dem Namen "SerialPort" gefunden werden. Zeile 13 Position 29. Fernbedienung

Bei Lösungen bitte eine Erklärung mit angeben, da ich neu in XAML bin. Im Voraus schonmal vielen Dank 🙂

Mit freundlichen Grüßen
McCona

2.080 Beiträge seit 2012
vor 2 Jahren

Die Klasse "SerialPort" ist nicht im Namespace "System.IO" und auch nicht in der Assembly "System".

SerialPort Klasse (System.IO.Ports)

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.