Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von _Cashisclay
Thema: MVVM (Visual Basic) - Combobox aktualisiert sich nicht?
Am im Forum: GUI: WPF und XAML

                        
<ComboBox Margin="1" IsEditable="True" ItemsSource="{Binding Lieferschein, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="Lieferschein" SelectedIndex="{Binding Lieferschein_SelectedIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding Lieferschein_Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnabled}" IsTextSearchEnabled="False" IsSynchronizedWithCurrentItem="True">

                                    <ComboBox.ItemsPanel>

                                        <ItemsPanelTemplate>

                                            <VirtualizingStackPanel VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling"/>

                                        </ItemsPanelTemplate>

                                    </ComboBox.ItemsPanel>

                                </ComboBox>

 


Ich hab auch schon versucht die ItemSource zu aktualisieren (klappt auch) und den SelectedIndex auf den Eintrag zu wechseln, trotzdem bleibt in dem Fall (alles via Quellcode) der Inhalt veraltet.

Grüße

Edit : IsSynchronizedWithCurrentItem="True" hab ich gestern erst beim rumprobieren hinzugefügt.

Thema: MVVM (Visual Basic) - Combobox aktualisiert sich nicht?
Am im Forum: GUI: WPF und XAML

Hallo inflames2k!

Ja, hab ich und er wird auch durchlaufen.

Edit: in der Property steht dann auch der neue Wert drinne, aber die ComboBox hat immer noch den alten Wert.

Thema: MVVM (Visual Basic) - Combobox aktualisiert sich nicht?
Am im Forum: GUI: WPF und XAML

Servus in die Runde..

Eventuell kann mir jemand fix weiterhelfen ich versuche eine Combobox Eingabe zu verändern.

Beim Laden (Inhalt) der Combobox funktioniert seltsamerweise alles einwandfrei.

Beispiel :

Property im ViewModel :


    Public Property Lieferschein_Text As String
        Get
            Return _Lieferschein_Text
        End Get
        Set(value As String)
            _Lieferschein_Text = value
            PropertyChange("Lieferschein_Text")
        End Set
    End Property

Ladevorgang :


If Not IsDBNull(DataRow.Item("Lieferschein")) Then ViewModel.Lieferschein_Text = DataRow.Item("Lieferschein")

Lieferschein Inhalt wird korrekt angezeigt.

ViewModel_PropertyChanged Event :


Case "Lieferschein_Text"

                    If ViewModel.Lieferschein_Text = "A" Then

                        ViewModel.Lieferschein_Text = ""

                    End If

Funktioniert nicht der Inhalt bleibt beim A

Kann mir jemand weiterhelfen?

Grüße

Thema: Zugriff auf Images ausserhalb eines Projektes (Images befinden sich aber in der Solution)
Am im Forum: GUI: WPF und XAML

Ist ein Lösungsvorschlag für sein Problem, außerdem hat das was auch mit eigener Pflege zu tun, ist mir in 3 Jahren noch nie um die Ohren geflogen, es ist halt statisch, man muss es im Hinterkopf haben.

Grüße

Thema: Über Xaml Breite der DG-Spalten anpassen wenn diese bereits bei Datenbefüllung festgelegt wurde?
Am im Forum: GUI: WPF und XAML

Konnte damit schon jemand Erfahrungen sammeln?

Grüße

Thema: WPF Welches Images als (sender) casten
Am im Forum: GUI: WPF und XAML

Servus,

wenn es dir egal ist ob dein Image Bild1 heißt oder dein ContextMenu Bild1 dann könntest du es auch so machen :

Dim Source AS FrameworkElement = TryCast(e.Source, FrameworkElement)

Dim ContextMenu AS ContextMenu = CType(Source.Parent, ContextMenu)

ContextMenu.Name

Grüße

Thema: WPF Welches Images als (sender) casten
Am im Forum: GUI: WPF und XAML

Servus,

wenn du es so löst warum willst du dann vom MenuItem überhaupt den Namen haben?
Du landest doch im passendem Event, da weißt du doch schon von welchem MenuItem du kommst und kannst den Namen einfach fest hinterlegen.

Grüße

Thema: Zugriff auf Images ausserhalb eines Projektes (Images befinden sich aber in der Solution)
Am im Forum: GUI: WPF und XAML

Hallo,

entweder du bindest die Bilder ins Projekt ein (1 roter Rahmen) oder du machst einen Verweis auf die Datei via Pfad (2 roter Rahmen).

Grüße

Thema: Über Xaml Breite der DG-Spalten anpassen wenn diese bereits bei Datenbefüllung festgelegt wurde?
Am im Forum: GUI: WPF und XAML

Hallo Community,

ich hab mal eine Frage, existiert eine einfache Lösung um über den Xaml Code die Größe der Spalten anzupassen wenn die Breite bereits bei Datenbefüllung festgelegt wurde?

Folgende Situation :

Ich fülle mein DataGrid mit Daten (50 Datensätze) darunter einige Spalten die sich auf die breiteste Spalte festlegen. Wenn man über meinen eigenen Kopfbereich nun Filteranpassungen tätigt, werden die Datensätze auf diese Anzahl dann begrenzt, allerdings bleiben die Spalten bei der Größe die vorher festgelegt wurde, was ein wenig Platz verschwendent ist.

Hat jemand eine Idee?

Grüße

Thema: Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
Am im Forum: GUI: WPF und XAML

Es liegt am Netzwerkpfad.

Thema: Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
Am im Forum: GUI: WPF und XAML

Hallo :

Der Teil knallt :

                        Try
                            Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
                            Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                            DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name
                        Catch ex As Exception

                        End Try

Thema: Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
Am im Forum: GUI: WPF und XAML

Sorry.

Also der Benutzer wählt eine Datei von seinem Computer aus, diese wird dann dem oben angegebenen Pfad hinterlegt, danach wird die mit Name und Icon in einer Tabelle angezeigt und kann ggf. aufgerufen werden.

Dim Benutzer As String = System.Environment.UserName

        Try

            If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "") Then

                ' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '

                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons")
                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Icons\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp")

                System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "")

            End If

            If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "") Then

                ' --- Wenn der aktuelle Benutzer keinen Ordner besitzt, wird dieser nachträglich angelegt --- '

                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files")
                If Not System.IO.Directory.Exists(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanamgenetsystem\Files\Temp") Then System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp")

                System.IO.Directory.CreateDirectory(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "")

            End If

        Catch ex As Exception
            Fehlerbehandlung = New Fehlerbehandlung()
            Fehlerbehandlung.Fehlermeldung = ex
            Fehlerbehandlung.ShowDialog()
        End Try

        Try

            Using OpenFileDialog As New System.Windows.Forms.OpenFileDialog

                If OpenFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

                    ' --- interne Variablen Deklaration --- '

                    Dim FileInfo As New System.IO.FileInfo(OpenFileDialog.FileName)

                    Dim _Info As System.IO.FileInfo

                    ' --- Dient der Prüfung ob die Datei bereits in der Tabelle hinterlegt ist --- '

                    Dim eFile As Boolean = False

                    ' --- Prüfung ob die Datei bereits im Verzeichnis hinterlegt ist --- '

                    For Each File As String In My.Computer.FileSystem.GetFiles(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\")

                        Dim Info As New System.IO.FileInfo(File)

                        If FileInfo.Name = Info.Name Then

                            eFile = True

                            _Info = Info

                            Exit For

                        End If

                    Next

                    If eFile = True Then

                        ' --- Die Datei exisitert bereits unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '

                        FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & _Info.Name & "", True)

                        eFile = False

                        ' --- Prüfe ob die Datei bereits in der Liste existiert --- '

                        For Each File As System.Data.DataRow In ViewModel.Dateiname.Rows

                            If File.Item("Name") = FileInfo.Name Then

                                eFile = True

                                Exit For

                            End If

                        Next

                        If eFile = False Then

                            Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow

                            DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")

                            DataRow.Item("Name") = FileInfo.Name

                            DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name

                            ViewModel.Dateiname.Rows.Add(DataRow)

                        End If


                    Else

                        ' --- Die Datei existiert noch nicht unter \\192.168.88.48\Daten\IT-Tools\Beschwerdemanagementsystem\Files --- '

                        FileInfo.CopyTo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        FileInfo = New System.IO.FileInfo(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Files\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        Dim DataRow As System.Data.DataRow = ViewModel.Dateiname.NewRow

                        DataRow.Item("Dateiname") = Replace(FileInfo.FullName, FileInfo.Name, "")

                        DataRow.Item("Name") = FileInfo.Name

                        Dim Image As System.Drawing.Image = System.Drawing.Icon.ExtractAssociatedIcon(FileInfo.FullName).ToBitmap
                        Image.Save(ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name & "")

                        DataRow.Item("Icon") = ConfigLoader.DataPath & "\IT-Tools\Beschwerdemanagementsystem\Icons\Temp\" & Benutzer & "\" & FileInfo.Name

                        ViewModel.Dateiname.Rows.Add(DataRow)

                    End If

                End If

            End Using

            If ViewModel.StatusID = 1 Or ViewModel.StatusID = 2 Then

                If check_Pflichtfelder() Then If ViewModel.Einordnung.Rows(ViewModel.Einordnung_SelectedIndex).Item("Einordnung") <> "Ohne Folge" Then ViewModel.StatusID = 2

            End If

        Catch ex As Exception
            Fehlerbehandlung = New Fehlerbehandlung()
            Fehlerbehandlung.Fehlermeldung = ex
            Fehlerbehandlung.ShowDialog()
        End Try

Thema: Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
Am im Forum: GUI: WPF und XAML

Aber wie kann er dann die Datei für den Pfad hinterlegen?

Thema: Beim Zugriff auf Netzwerkpfad ist der Wert für den Pfad ungültig
Am im Forum: GUI: WPF und XAML

Hat jemand damit schon Erfahrungen gemacht? Bei mir und auf der Testumgebung funktioniert es, beim Anwender nicht, die Datei wurde auch für den angegebenen Pfad hinterlegt.

Grüße

Thema: DataGrid - Sortierung dupliziert ersten Eintrag ans Ende der Liste
Am im Forum: GUI: WPF und XAML

Das wird sie, das ist über das ViewModel geregelt.

Thema: DataGrid - Sortierung dupliziert ersten Eintrag ans Ende der Liste
Am im Forum: GUI: WPF und XAML

Tut mir Leid hab das ganze auch ein wenig knapp beschrieben.



' --- ViewModel (Auftragsabwicklung) - Befüllung mit Daten zu dem vorhandenen Mandanten --- '
            ViewModel.Auftragsabwicklung = processingAssignments(Datenbank.return_Auftragsabwicklung_Aufträge(ViewModel.MandantCbIndex)).DefaultView

            ViewModel.Auftragsabwicklung.Sort = "Geprüft DESC, Datum ASC"

            For Each DataRow As System.Data.DataRow In ViewModel.Auftragsabwicklung.ToTable.Rows

                If Not IsDBNull(DataRow.Item("Geprüft")) AndAlso DataRow.Item("Geprüft") = "2" AndAlso (IsDBNull(DataRow.Item("_FEHLERKENNUNGAUFTRAGSABWICKLUNG")) OrElse DataRow.Item("_FEHLERKENNUNGAUFTRAGSABWICKLUNG").ToString = "0") Then

                    ViewModel.AutomaticallyIsEnabled = True

                    Exit For

                End If

            Next

            'Datenbank.insert_Auftragsabwicklungstool(Suchvorgang, "processingAssignments", ViewModel.MandantCbIndex, "Aufträge wurden erfolgreich geladen", "")

            ' --- Sortierung setzen --- '
            'If ViewModel.Auftragsabwicklung IsNot Nothing Then ViewModel.Auftragsabwicklung.Sort = "Geprüft DESC"

            setStatusMessage("Die Aufträge stehen zur Verarbeitung bereit.", "Green")


Ich führe das Laden der DataTable und Verarbeiten in einem anderen Thread aus und wenn ich an der auskommentierten Stelle die Sort Eigenschaft festlege tritt der Fehler immer mal wieder auf. Weiter oben dann nicht. Die Daten werden an sich nicht mehr verändert.

Grüße

Thema: DataGrid - Sortierung dupliziert ersten Eintrag ans Ende der Liste
Am im Forum: GUI: WPF und XAML

Hallo Leute,

ich hab ein kleines Problem. Wenn ich die Sortierung für mein DataView setze wird der erste Eintrag aus irgendeinem Grund mit dem ersten (siehe Bild) unter den grünen dupliziert. Wenn ich dann runterscrolle scheint sich das ganze zu aktualisieren und stimmt dann auch.

Wie kann so etwas passieren?

Grüße

Thema: GhostScript - Eurozeichen wird nicht dargestellt
Am im Forum: GUI: WPF und XAML

Die Pfade in der cidfmap weichen in der 32 Bit Version von der 64 Bit Version ab, deswegen hatte er weiterhin die Zeichen nicht erkannt.

Thema: GhostScript - Eurozeichen wird nicht dargestellt
Am im Forum: GUI: WPF und XAML

Hallöchen,

keine Ahnung ob ich das jetzt in den richtigen Thread setze.

Hat jemand Erfahrung mit Ghostscript? Leider stellt er mir keine € Zeichen dar sondern macht daraus ein B. Ich hab schon in der cidfmap Änderungen vorgenommen nur hatten die leider keine Auswirkungen darauf.

Jemand eine Idee?

Grüße

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Ich zieh mir die Daten aus der Datenbank und leg die in eine DataTable, ist doch eigentlich am besten um die Daten sauber aufzubereiten oder nicht?

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Hey ho,

war über das Wochenende nicht Online. Werd mich die Tage aufjedenfall noch einmal mehr mit dem MVVM auseinandersetzen.

Wenn ich das halbwegs richtig verstanden habe (und ich trau mich kaum noch etwas zu dem Thema zu sagen) soll ich anstatt meine "frimel" Lösung zu nutzen mir einfach statt der Property wo das DataTable drinne ist woraus ich meine Daten ziehe, für jede Spalte aus der DT eine Property anlegen und dort den Wert hinterlegen um dann das ganze zu Binden.

Grüße

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Zitat von FZelle
Speziell wenn man wie _Cashisclay einen einzelnen Wert aus einer DT an die View binden will ist doch so ein 5 Zeiler echt schnell geschrieben, statt jetzt insgesamt 2 Tage dran zu laborieren.

Ich entnehme 26 Spalten aus der DataTable und wollte mir nicht für jede einzelne Spalte eine einzelne Property anlegen.

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Hallo Coffeebean,

danke für deine Antwort. Ich werd mir das zu Herzen nehmen und mir das wirklich noch einmal ansehen. Ich kann deine Punkte zu 100% nachvollziehen. Ich hab auch schon FZelle verstanden, nur ist es immer das gleiche, ich versteh das man das Problem an der Wurzel packen möchte, aber jetzt in dem Moment habe ich eine Lösung zu dem Problem gesucht, aber FZelle als Beispiel hat 0,0 auch nur im Ansatz versucht darauf einzugehen, falls er denn darin Erfahrung hat.

Er hat wie so viele im Forum einfach die komplette Frage überworfen und unterm Strich meine Fragestellung irgendwo ignoriert .. "Ah, der macht das falsch ... Hier guck dir MVVM mal ordentlich an."

Ja, nice. Hilft mir in der Situation zwar 0 weiter, aber danke.

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Für mein Problem bzw. meine Frage ist das genau die Lösung die ich auch gesucht habe, das man das ganze eventuell anders angehen sollte und besser umsetzen kann, möchte ich nicht abstreiten, aber für meine Frage und jede andere die sich darauf bezieht, ist das erstmal eine Lösung.

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Hallo,

danke für die Antworten. Ich hab gestern leider eine Menge probiert und dadurch zuvor mein Grid ein neuen DataContext zugewiesen daher ging das ganze nicht.

Für alle die diesen Beitrag sehen und eine Lösung suchen :

Wenn ihr eine DataTable habt mit nur einem Eintrag (ist bei mir der Fall) dann einfach folgendes nutzen :


<TextBox Text="{Binding EuerDataTableName.Rows[0][EuerSpaltenName]}/>

Grüße

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Okay, werd ich machen, aber heißt das jetzt in erster Linie das es nicht geht?

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Hallo Liebe Community,

ich hab das Problem, das ich mehrere DataTables in meinem ViewModel habe, dieses dann dem DataContext zuweise und nun gerne einzelne Spalten aus einzelnen Tabellen auf TextBoxen binden möchte (via Xaml).

Ist das möglich? Hat jemand damit Erfahrung?

Ich hab schon viel beim Googlen gefunden, aber bisher hat nichts funktioniert.

Bsp:

Text={Binding Source = Kunde, Path = Rows[0][LASTNAME0]}

Grüße

Thema: ComboBox (Selektion) - Blockiert die Anwendung
Am im Forum: GUI: WPF und XAML

Hallo liebe Community,

wenn ich in meiner ComboBox einen Eintrag auswähle, wird eine längere Berechnung durchgeführt.
Dadurch wird die gesamte Anwendung erstmal blockiert und das sieht natürlich ziemlich hässlich aus.

Ich hab es schon mit System.Windows.Forms.Application.DoEvents() ausprobiert, hat nur leider nicht funktioniert, hatte eigentlich bis jetzt damit gute Erfahrungen gesammelt.

Kennt sich jemand damit aus?

Grüße

Thema: Datatable mit Sql Tabelle vergleichen
Am im Forum: GUI: Windows-Forms

Hallo mikefried,

du definierst dir deine neue DataTable, ein sqlCommandString (mit dem Inhalt deiner sql Abfrage).

Dann füllst du deinen Command mit deiner Connection und deiner Abfrage, übergibst den Command einem SqlDataAdapter und befüllst mit Hilfe des Adapters deine DataTable.

Vergleichen kannst du deine DataTables dann in dem durch jede Zeile überprüfst.

Grüße

Thema: Wie kann man feststellen, wer im Netzwerk gerade mein Programm nutzt?
Am im Forum: Netzwerktechnologien

Ich kann damit Leben, ich habe auch ein wenig das Gefühl das du mich falsch verstehst, ich erwarte hier keine Zauberei. Niemand der hier ins Thread guckt und sagt ja klar hier nimm diesen Quellcode dann gehts. Ich hab lediglich nach Erfahrungen gesucht, die hab ich gefunden.

Die Tendenz geht auch Richtung Datenbank, ich teile da Bernd seine Ansicht und empfinde das auch absolut nicht als Stolperfalle und ich denke ( ich nehme jetzt auch "mein" Wort ) du verkrampfst dich auf dein ClickOnce, nach dem Motto wie du das mit den Fäusten beschrieben hast, "nehmt Clickonce, es ist gut, es ist gut".

Mal sehen ob es dabei bleibt oder ob noch jemand eine Idee hat :-).

In jedem fall hat mir das ganze hier geholfen.