Hallo zusammen,
ich habe da ein Problem mit Namespaces. Um mein Projekt bissl strukturierter auf zu bauen, habe ich Bestandteile in alternative Namespaces gepackt. Jetzt bekomme ich nur immer probleme beim laden des Designers. Obwohl im laufenden Betrieb keine Probleme auftauchen, wird im Designer nichts angezeigt.
Ich erhalte folgende Begründung:
Fehler 3 Für XAML-Dateien, die nicht Bestandteil eines Projekts sind, muss eine Assembly angegeben werden. Öffnen Sie diese XAML-Datei noch einmal, nachdem Sie sie einem Projekt hinzugefügt haben. Schließen Sie die Datei, und öffnen Sie sie unter Verwendung des verknüpften Projekts erneut, oder ändern Sie den CLR-Namespace, indem Sie den Assemblynamen hinzufügen.
und binde so meine Namespaces ein.
xmlns:local="clr-namespace:MeinNamespace"
Weiß jemand Rat?
Bei WPF über WPF mit tranzparenten Farben kommt es hin und wieder auf langsamen Rechnern zu hackeleien. Beobachte ich auch beim "klassischen Design" ohne Avalon Dock.
Kann es sein, das dein Rechner nicht "stark" genug ist.
Was genau soll er können? Immerhin hast du ja eigendlich bei jeder Expressversion einen Designer dabei? Der einzige echte WYSIWYG-Editor ist eigendlich Expression Blend. Wobei man natürlich beachten muß, das WPF deutlich mehr als HTML kann und man ein simples WYSIWYG wie bei HTML nicht mehr ermöglichen kann. Gute Alternativen zu Blend gibt kaum bis gar nicht.
Ich würde eher den Schritt eines Grids mit vielen Colums gehen. Grids können über RowSpan ColSpan entsprechende Zellen angepasst werden.
Der Aufbau des Grids entspricht dann der üblichen Bauweisen, das jede "Zelle" für einen Zeitfleck in einer bestimmten Größe gehört. In die Zellen kannst du basteln was du möchtest. Hab was ähnliches so schon realisiert und ist Performanter, als mehrere Stackpanels oder ähnliches zu nehmen, da du mit einem Grid auskommst. Zu dem man, wenn ein ScrollViewer verwendet wird, man das Nachladen steuern kann (habe es aber nie ausprobiert).
Was MultiTouch anbelangt habe ich keine Erfahrung mangels passender Hardware.
Jepp ich auch. Zudem ich mir beim ersten einbau in ein Proggi das ganze Proggi zerstört habe. Es gab plötzlich hunderte von Fehlern und selbst ein entfernen hat nichts gebracht. Mußte eine Sicherheitskopie einspielen, sonst hätte ich das wohl nie wieder hin bekommen. Nun habe ich mir ein eigenes Ribbonstyle gebaut, was im übrigen gar nicht so schwer ist.
Hallo,
ich lese aktuell einige Resourcedateien per Code aus, weil ich bei bestimmten elementen eine freiere Gestaltung ermöglichen möchte. Dies funktioniert einwandfrei. Jedoch wenn im Quellcode ein fehler ist, bekomme ich einen unschönen Programmabsturz zurück zum Desktop, ohne Fehlermeldung! sobald der entsprechende Schlüssel genutzt werden soll. (Es reicht schon wenn statt TextBlock Textblock in der Datei steht).
Kann ich den XAML-Code schon irgendwie beim einlesen (oder meinetwegen auch später) auf Fehler prüfen?
Oje. Ich habe mir jetzt NICHT den ganzen Text durchgelesen, aber beim überfliegen habe ich schon gesehen, das es ein wenig zu viel des guten ist 😉.
Wenn es nur um die "Schattierung" bei der Auswahl geht, hast du selbstverständlich recht.
Aber es geht auch anders. Hier hat man völlige kontrolle über die Darstellung.
Hier eine MIschung aus veröffentlichem MS Code und eigenem
<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Grid Width="15" Height="13" Background="Transparent">
<Path x:Name="ExpandPath" HorizontalAlignment="Left" VerticalAlignment="Center"
Margin="1,1,1,1" Fill="{StaticResource GlyphBrush}" Data="M 4 0 L 8 4 L 4 8 Z">
</Path>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Data" TargetName="ExpandPath" Value="M 0 4 L 8 4 L 4 8 Z"/>
</Trigger>
<Trigger Property="ToggleButton.IsMouseOver" Value="True">
<Setter TargetName="ExpandPath" Property="Fill" Value="Gold" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TreeViewItemFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Border>
<Rectangle Margin="0,0,0,0" StrokeThickness="5" Stroke="Black" StrokeDashArray="1 2" Opacity="0"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="{x:Type TreeViewItem}" TargetType="{x:Type TreeViewItem}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="Padding" Value="1,0,0,0"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="FocusVisualStyle" Value="{StaticResource TreeViewItemFocusVisual}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ToggleButton x:Name="Expander" Style="{StaticResource ExpandCollapseToggleStyle}"
IsChecked="{Binding Path=IsExpanded,RelativeSource={RelativeSource TemplatedParent}}"
ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="{TemplateBinding Background}" CornerRadius="5"
BorderBrush="{StaticResource SolidColorDarkBrown}" BorderThickness="{TemplateBinding BorderThickness}"
Padding="5,0">
<TextBlock x:Name="PART_Header" Text="{Binding Path=Header}" />
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded"
Value="false">
<Setter TargetName="ItemsHost"
Property="Visibility"
Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="Expander" Property="Visibility"
Value="Hidden"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader"
Value="false"/>
<Condition Property="Width"
Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Height" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="#8f6b5b"/>
<Setter Property="Foreground" Value="Gold"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Setter TargetName="PART_Header" Property="Foreground" Value="Gold"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Bd" Property="Background" Value="#8f6b5b"/>
<Setter Property="Foreground" Value="Gold"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<HierarchicalDataTemplate DataType="{x:Type instanz:HierarchicalItem}"
ItemsSource="{Binding Path=Children}"
>
<StackPanel>
<TextBlock Name="PART_Text" Foreground="Black" Text="{Binding Path=Header}" FontFamily="Arial"/>
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect
ShadowDepth="0"
Color="Gold"
BlurRadius="20"
Opacity=".75"
RenderingBias="Quality" />
</Setter.Value>
</Setter>
<Setter TargetName="PART_Text" Property="Foreground" Value="Black" />
</Trigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
Das HierarchicalDataTemplate stellt letztendlich dann auch dein Element dar, welches du gebunden hast.
Ich hoffe das hilft 😃.
Ein UC ist eine mögliche aber mit sicherheit nicht die Performanteste Variante. Leite lieber von der Textbox eine Klasse ab und schreibe ein passendes theme (Basis-Template) dazu. Hier kannst du dann auf eingaben wie Keypress reagieren und als Ausgabe dann deine Maskierung verwenden.
Die einfachste Variante ist aber, du stellst auf .Net 4.0 um und verwendest die MaskedTextBox, die es bereits als Frameworkelement gibt.
Hallo,
dazu mußt du das Template überschreiben. Hier findest du ein Beispiel wie es MS macht.hier
Hallo Taladan,
Ich weiß das 😉.
Wenn du MDI meinst, ist dies mit WPF nicht möglich. DIese art an Programmdesign gilt auch als veraltet, weil es sehr unübersichtlich wird, bzw werden kann. Man verwendet heute entweder ein Design, welches du von Visual Stuidio her kennst (über Dockpanel realisierbar) oder/und mit verschiedenen Seiten (über TabPanel realisierbar).
Man kann theoretisch sich so etwas mit PopUps nachbilden, aber ob das sinnvoll ist, ist die nächste frage.
Ich nutze Visual C# 2010 Express.
hallo
ich habe seit ein paar Tagen das Problem, das ich in VS die Elemente nicht mehr im Designer per Maus auswählen kann. VS fügt immer ein Element hinzu. Wie kann ich das ausstellen?
So weit war ich auch schon. Nur weiß ich leider nicht wie.
Hallo,
wie kann ich die Subitems von MenuItems an einer anderen Stelle präsentieren?
Genau darum geht es. Einfacher Textumfluss.
Hallo,
ich stehe gerade auf dem Schlauch, wie kann ich in WPF ein Textumlauf um andere Elemente erzeugen (in meinen Falle ein Image).
Nach langer Suche bin ich fündig geworden. Man kann den Effekt nur simulieren
<DropShadowEffect ShadowDepth="0" Color="Gold" BlurRadius="20" RenderingBias="Quality" />
Sorry meinte nicht den Blureffekt sondern den OuterGlowBitmapEffect.
Hallo,
ich wollte gerne einen OuterGlowBitmapEffect auf einen Button anwenden. Allerdings waren alle Versuche ohne erfolg. Ich habe bereits Stundenlang im Netz gesucht bis ich auf die Idee kam, den per Code zu setzen. Hier mit einen Blureffekt getestet.
private void btnDeleteStartWindow_MouseEnter(object sender, MouseEventArgs e)
{
// Get a reference to the Button.
Button myButton = (Button)sender;
// Initialize a new BlurBitmapEffect that will be applied
// to the Button.
System.Windows.Media.Effects.BlurBitmapEffect myBlurEffect = new System.Windows.Media.Effects.BlurBitmapEffect();
// Set the Radius property of the blur. This determines how
// blurry the effect will be. The larger the radius, the more
// blurring.
myBlurEffect.Radius = 10;
// Set the KernelType property of the blur. A KernalType of "Box"
// creates less blur than the Gaussian kernal type.
myBlurEffect.KernelType = KernelType.Box;
// Apply the bitmap effect to the Button.
myButton.BitmapEffect = myBlurEffect;
}
Nun erzählt ir der Kompiler, das BitmapEffekt veraltet ist und statt dessen Effect erwendet werden sollte. Scheibar hat sich die Verwendung durch .Net 4.0 verändert.
Nur wird effect offenbar ganz anders verwendet und das Beispiel auf msdn ist alles andere als verständlich.
Kann mir jemand weiter Helfen, wie ich einen simplen OuterGlowBitmapEffect verwenden kann?
Mein Scanner hat die entsprechenden Events nicht im Scannerinfo. Ich vermute, das hat was mit dem Konzept von Plustek zu tun. Sie bieten für die selbe Hardware drei verschiedene Versionen an. Daher wird das wohl nicht klappen 😦. Mal schauen was mir Plustek schreibt. Bei meinen anderen Scanner funktiert der Code.
Ja kann er. Ich probiere das morgen gleich mal aus. 😃.
Das habe ich auch schon gesucht. aber leider keine Doku bisher dazu gefunden. Weißt du evtl wo ich was finde?
Gruß
Habe ich gestern schon gemacht. Ohne erfolg. Eine Mail habe ich auch schon abgeschickt. Mal schauen was passiert.
Gruß
Danke das sind die Propertys die ich stundenlang vergeblich gesucht habe.
Zu deinen Fragen:
Aber verwendest du es irgendwo?
Nein ich verwende sie erst jetzt.
Als Workaround: Verkleinere die Bilder schon vorher oder konvertiere sie nach XAML.
Mach ich in der Regel, aber die meisten Bilder verwende ich in unterschiedlichen Größen, das würde ja nur mein exe später vergrößern.
Man kann in Paint auch gerade Linien zeichnen
Der Comicartige Stiel zieht sich durch die ganze Anwendung. Das ist Absicht 😉
Danke für die Mühe, das wäre ungefähr ( wenns c# wäre, genau ) das was ich suche. Leider sind die Links mitlerweile ungültig.
Das ist ein Plustek OpticBook 3600 Plus. Die Tasten sind S/W Scan, GraustufenScan und Farbscan. Sowie Aus/einschalter und zwei Tasten die je nach einstellung (Buch/Einzelblattscan) unterschiedliche aufgaben haben.
Gruß
Hallo,
ich habe einen neuen Buchscanner. Ich habe mir vor einiger Zeit ein Proggy geschreieben, mit dem ich wie gewünscht ein paar Bilder einscannen kann.
Mein neuer Scanner besitzt nun so tolle neue Tasten. Kann man die irgendwie abfangen und verwerten?
Nein. Der WPF Code ist komplett unverändert geblieben.
Hallo, ich habe auf c# Express 2010 umgestellt und nun fällt mir auf, das meine Images anders aussehen . Kann mir jemand sagen warum und vor allem wie ich den Ursprungszustand hin bekomme?
Oben Alt (gewünschter Zustand)
Unten Neu (zu Pixelig)
Hallo,
ich möchte gerne eine ListView im Kachelmodus mit mehr einer Menge an bildern anzeigen lassen. Diese sind über den Kachelmodus frei scalierbar. In kleinen Rahmen die auslesen oder Thumbnails erstellen lassen ist die eine Möglichlicht. Jedoch sollen die Bilder im Kachelmodus frei scalierbar sein. Dadurch ist das Laden den originalbildes zwingend erforderlich.
Dadurch blockiert allerdings nun meine GUI. Verständlicherweise. Wie kann ich WPF beibringen erst einen Platzhalter anzuzeigen welches dann mit dem Bild ersetzt wird. Meine suche im Netz brachte mir bisher nur die o.g. Möglichkeiten.
Gruß Marco
Also wenn ich dich richtig verstanden habe, hast du eine zweite Liste in dem du etwas anhand deines selektierten Items aus dem TreeView auswählen willst und diese Daten dann ausgeben, oder sehe ich das falsch?
Die zweite Liste mußt du über einen CollectionViewSource binden. Also
private CollectionViewSource View = new CollectionViewSource();
public TreeListView()
{
Liste.DataContext = View;
View.Source = MeineTolleListe;
// Zum sortieren eine Sortierscript
View.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
// Zum Filtern eine Filterung; geht auch mit inlinecode
View.Filter += new FilterEventHandler(View_Filter);
}
void View_Filter(object sender, FilterEventArgs e)
{
MeineTolleObjectklasse mto = e.Item as MeineTolleObjectklasse;
if (mto.Name == "C#")
{
e.Accepted = true;
}
else e.Accepted = false;
}
Ich hoffe das hilft dir weiter
Also aus Erfahrung kann ich sagen, ja auf jeden Fall, weil es auf XAML basiert, was Flussabhängig ist. Stell dir das kompilierte Programm später vor wie ein juristisches Buch. Da darf man zwar immer an andere Stellen verweisen, diese müssen aber bereits weiter vorne beschrieben worden sein. Ein verweiß auf eine Seite weiter Hinten geht nicht, weil es noch nicht eingelesen wurde.
Daher habe ich meine grundlegenden Styles, z.B. Farben, werden schon in der App.xaml. (Genauer gesagt, hier wird ein ResourceDictonary eingebunden). Diese Datei wird immer als erstes Ausgewertet.
Auch hier sollte darauf geachtet werden, das bei Verwendung von ResourceDictonary nicht wieder nach unten verwiesen wird. XAML wird scheinbar Zeilenweise ausgewertet (genauer gesagt von einen < bis nach >), wobei ich dies nicht belegen kann.
Hallo,
wir verwenden auf der Arbeit ein Programm was extern per C# geschrieben wurde. Dieses nutzt normales C#. Wenn man einen Code verwenden will, der in einer einzelnen c#-Datei steht, nutzen will muß es noch kompiliert werden (was auch imemr das Programm dann macht). Dann kann der Code verwendet werden um Dateien zu übersetzen und für das Format was unser Datenbanksystem benötigt.
Wahrscheinlich wird das System bald abgelößt, da die externe Programmierung uns eine Menge Geld kostet und trotzdem immer noch häufig viele Fehler drin sind, die dann einer von uns beseitigen darf.
Nun überlege ich, einen entsprechenden Konvertierer selbst zu schreiben, aber das steht auf einen anderen Blatt.
Ich frage mich, wie das Programm diesen externen Code überhaupt verwendet, da es sich ja scheinbar nicht um ein .dll handelt. Und selbst wenn, alle codes die ich bisher geshen haben, gingen davon aus, das die .dll eindeutig benannt werden kann und nicht, Beispielsweise über eine Variable gelesen werden kann.
Hat jemand evtl Ansatzpunkte wonach ich suchen kann oder gar Ideen wie so was funktioniert?
Hallo, ich möchte gerne eine Imagesource per Trigger ändern. Jedoch funktioniert im unten angebenen Beispiel nur die Größenveränderung
<Image Source="{DynamicResource FreieAktionenAktiv}" Grid.Column="1" Grid.Row="3" >
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding Path=AktionenFrei, UpdateSourceTrigger=PropertyChanged}"
Value="0">
<Setter Property="Image.Source" Value="{DynamicResource FreieAktionenInaktiv}"/>
<Setter Property="Image.Width" Value="200" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
Wenn ich die zuweisung über ein DataTemplateTrigger mache, dann funktioniert das. In dem obrigen Element habe ich nur kein DataTemplate zur verfügung.
Hallo,
ich nutzte eine ObservableCollection mit einen selbsterstellten Item (abgeleitet von DependencyObject), diese sortiere ich mit einer CollectionViewSource.SortDescription. Jedoch sortiert die Liste nicht neu, wenn ich in meinen Item, welches in der ObservableCollection den Wert ändere, nach dem ich sortiere (Z.b. der Name oder eine Zahl).
Kann ich das irgendwie automatisieren?
Hey gute Idee 😃. Werde ich gleich mal umbauen
Hallo Zero_X, ich weiß jetzt nicht, warum du dich auf den Schlips getreten fühlst. Natürlich verstehe ich deine Aussage und ich verwende es schon seit Jahren! so, da dies zu den Grundbegriffen gehört. Zudem man auch verstehen muß, das es häufig mehr als einen Weg zum ziel gibt.
Der Lösungsvorschlag von MichlG hat mich so auf eine Idee gebracht. Ich verwende nun ein unsichtbares Element und lese von dort den Wert aus.
Das Objekt an den die TextBox gebunden ist, sorgt nicht nur für die Optik sondern auch noch für Position, spezielle Nutzereingabenevent und vieles mehr (da es eine Spezielle Textbox ist, die eine Art Kalender zu grunde legt, der nicht auf TTMMJJ basiert sodern auf 12 Numerische und Alphanumerische werte mit einer komplexen (glücklicherweise nicht von mir entwickelten) Verschachtelung der Werte arbeitet. Der Nutzen? Keine Ahnung. Die Aufgabe war einfach so gestellt worden. Also nutze ich sie.
Aber das DataContext erlaubt doch nur ein Object als Quelle. Und mit MVVMPatterns habe ich mich nie beschäftigt.
Weil ich das DataContext schon auf ein anderes Objekt festgelgt habe, das u.a. Aussehen der Textbox festlegt.
Der wird schon anderweitig verwendet.
Auch ein Text="{Binding Path=Zaehler, RelativeSource={RelativeSource Self}}" Funktioniert nicht.
Aloha,
Ich habe im CodeBedind meiner Page ein Eigenschaft definiert. Dieses ist eigendlich nichts weiter als ein Zähler. Nun würde ich gerne in meiner Page genau auf diese Eigenschaft binden. Am liebsten über WPF. Ich dachte eigenlich ein einfafaches
<TextBlock Text="{Binding Path=Zaehler}" />
würde ausreichen. Jedoch habe ich keinen erfolg 😦.
Nope die werden nicht in einer Form ausgewertet. Es ist der Charakter eines Rollenspiels der dort beschrieben wird. Leider mit sehr vielen Infos 😦
Aber kann man auch an die vorgestellten Möglichkeiten binden? Immerhin sind das dann doch keine dependencyPropertys
Hallo,
ich muß Objekte mit einer imensen Menge an Eigenschaften verwalten. Genauer gesagt geht es erst um ein Objekt (eine Beschreibung einer Person), welches imens viele Spezifikationen hat. Aktuell müssen pro Datensatz weit über 300! Eigenschaften gespeichert werden, tendenz steigend. Ich bin ein wenig geschockt über diese Vorraussetzung, das der Code sich natürlich gigantisch aufblähen wird. Hat jemand Erfahrungen die er mit mir teilen kann? Muß ich Beispielsweise für jede dieser Eigenschaften ein Property erstellen oder gibt es möglichkeiten das anders zu lösen? Dummerweise darf ich auch keine Datenbank verwenden, sonder muß bei Objekten bleiben.
Jepp. Ermitteln kann ich die auch. Ich möchte aber eine automatische Ermittlung haben, die eine generelle Verwendung ermöglicht. Also nicht nur für Locale versuche sondern auch vor LAN und I-Net. Ich gene nicht davon aus, das die späteren Nutzer wissen, was sie eingeben müssen (obwohl ich Ihnen natürlch die möglichkeit lassen will).
Hallo,
ich suche schon die ganze Zeit aber finde keinen passenden Code oder Hinweis. Ich versuche mich an meinen ersten Server und beschäftige mich zum ersten mal mit übertragungsprotokolle und Co (wobei ich noch keinen wirklichen durchblick habe). Ich möchte gerne einen Server bastln der aktuell nur im LAN später auch per I-Net funktionieren soll.
Obwohl ich den Server bereits MulitClienttauglich (auf Localhost) gemacht habe, ist mir immer noch ein Schleier, wie man die eigene IP-Adresse ermitteln kann. Also einmal die im eigenen Netzwerk und die im I-Net.
Aktuell ermittle ich so die IP
IPAddress ip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
Nu wollte ich den Nutzer mehr Infos bereit stellen und erhalte kryptische Adressen die ungefähr so aussehen
{fe8025ec:c29c:a303:908a%9}
{fe8034f5:12a7:c800:88b1%8}
Was ich nicht wirklich verstehe. Da Normal eine IP ja Beispielsweise so aussieht 123.123.23.12
Kann mir jemand vielleicht erklären, wie 1. eine normale IP ermitteln kann und 2. warum das ergebnis Momentan so aussieht?
Ach ja. Frohes Fest
Ich bekomme jedoch eine Fehlermeldung, das das Object (die BindingList) im falschen Thread ist. Zudem mir von Intellisence beim Dispatcher kein CheckAccess angeboten wird 😦.
Hallo,
wie kann man prüfen ob man auf ein bestimmtes Object (in meinen Fall eine BindingList) Zugriff aus dem Aktuellen Thread hat?
Ich probiere mich gerade an einem Client/Server Programm. Ich habe zwei Projekte aktuell, einmal den Client und einmal den Server in einer Projektmappe. Kann ich irgendwie dafür sorgen, das beide Projekte gestartet werden beim debuggen?