Laden...

Forenbeiträge von Christoph1972 Ingesamt 212 Beiträge

06.02.2020 - 11:10 Uhr

Hallo,

hier ist ein Anfang, das fine tuning kannst du dann selbst machen.

Das Grundgerüst gibt es hier: https://stackoverflow.com/questions/21564631/how-to-modify-the-placement-of-datagrid-vertical-scroll-bar-in-wpf


 <DataGrid.Style>
     <Style TargetType="{x:Type DataGrid}">
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type DataGrid}">
                     <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
                         <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
                             <ScrollViewer.Template>
                                 <ControlTemplate TargetType="{x:Type ScrollViewer}">
                                     <Grid>
                                         <Grid.ColumnDefinitions>
                                             <ColumnDefinition Width="Auto"/>
                                             <ColumnDefinition Width="*"/>
                                             <ColumnDefinition Width="Auto"/>
                                         </Grid.ColumnDefinitions>
                                         <Grid.RowDefinitions>
                                             <RowDefinition Height="Auto"/>
                                             <RowDefinition Height="*"/>
                                             <RowDefinition Height="Auto"/>
                                         </Grid.RowDefinitions>
                                         <Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                         <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1"  Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                         <!--This is the scroll content presenter that gets shifted to the left 17 units so that scrollbar doesn't cover it-->
                                         <ScrollContentPresenter Grid.Column="0" Grid.ColumnSpan="2" Margin="17,0,0,0" x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.Row="1"/>
                                         <!--This is the vertical scrollbar. Margin is used to shift it to the left 17 units over the content-->
                                         <ScrollBar HorizontalAlignment="Left" Margin="0,0,0,0" x:Name="PART_VerticalScrollBar" Grid.Column="0" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
                                         <Grid Grid.Column="1" Grid.Row="2">
                                             <Grid.ColumnDefinitions>
                                                 <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                                 <ColumnDefinition Width="*"/>
                                             </Grid.ColumnDefinitions>
                                             <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
                                         </Grid>
                                     </Grid>
                                 </ControlTemplate>
                             </ScrollViewer.Template>
                             <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                         </ScrollViewer>
                     </Border>
                 </ControlTemplate>
             </Setter.Value>
         </Setter>
     </Style>


03.07.2019 - 14:18 Uhr

Hallo zusammen!

Wenn in einem DataGrid, der Inhalt einer Zelle zu lang ist und nicht vollständig dargestellt werden kann und man in diese Zelle klickt, dann scrollt das DataGrid automatisch nach links oder rechts.

Wie kann man das deaktivieren? Bei der Suche bin ich bis jetzt nicht fündig geworden und meine Versuche haben auch nicht zum Erfolg geführt.

03.06.2019 - 06:01 Uhr

Kannst du die kaputte Solution zur Verfügung stellen?

Das ist leider nicht möglich.

24.05.2019 - 08:53 Uhr

Hallo zusammen,

einige Pfade zu den NuGet Paketen in den *.csproj Files haben nicht gepasst haben. Die Pfade der „Unter“-Projekte haben auf das Startprojekt gezeigt.

Folgende Verzeichnisstruktur kommt bei mir zum Einsatz:

Projektmappe
UI
--ProjektUI1 (Startprojekt)
--ProjektUI2
LL
--ProjektLL1
--ProjektLL2
DAL
--ProjektDAL1
--ProjektDAL2
Shared
--Shared1
--Shared2

Sämtliche Projekte, bei denen ich mit dieser Struktur arbeite, sind davon betroffen. Interessant ist, dass die Originalversion im Working Directory funktioniert, auch das Updaten der Pakete geht. Bei einem Testprojekt konnte ich das Problem nicht nachstellen, ich werde das eine Weile beobachten. Zum Glück kann man das Problem gut beheben!

Vielen Dank für die Unterstützung!

22.05.2019 - 13:51 Uhr

Wie auch immer, ich habe definitiv ein Problem mit einigen meiner Projekte.

Ich hatte noch die Idee, alle NuGet Pakete zu deinstallieren und es mit einer Neuinstallation zu versuchen, dabei habe ich festgestellt, dass sich die Pakete nicht deinstallieren lassen.

Wenn ich ein kleines Testprojekt mit NuGet Paketen anlege und pushe, dann clone, funktioniert alles wie erwartet.

22.05.2019 - 13:18 Uhr

Was sind .NET Komponenten? 👶

Damit meine ich z.B. Sytem, Sytem.XML usw.

Ich hab nicht den Hauch einer Ahnung, was Du ausdrücken willst.

Das ich versucht habe die Referenzen manuell neu zu setzen, diese aber auch nicht übernommen werden.

Bei einem Pull muss immer ein Restore erfolgen.

Das habe ich ja gemacht, funktioniert aber leider nicht. Die Referenzen auf die Pakete sind gelb gekennzeichnet und bleiben es auch, mit der Fehlermeldung, dass die referenzierte Komponente nicht gefunden werden kann.

22.05.2019 - 12:44 Uhr

Hallo Abt,

vielen Dank schon mal!

Ich habe nicht via Pfadangabe referenziert, mir war nur aufgefallen das die Pfade jetzt leer sind.

NuGet Pakete habe ich ganz simple installiert und damit gearbeitet. Referenzen auf .Net Komponenten habe ich per „Add Reference“ hinzugefügt.

Ich habe gerade noch mal ein Clone von einem Projekt erstellt und da fehlen alle Referenzen, außer die, die zum Projekt gehören.

Die Referenzen neu setzen funktioniert nicht, auch so das Restore der NuGet Pakete.

Zum Test habe ich Referenzen hinzugefügt, die ich nicht brauche, auch diese werden nicht übernommen. Alle Referenzen sind mit einem gelben Dreieck gekennzeichnet.

Seltsam…..

22.05.2019 - 11:48 Uhr

[EDIT]
Ich habe den Titel angepasst

Hallo zusammen,

wenn ich meine Git Repositories clone, fehlen die Pfade zu den referenzierten Bibliotheken, wie z.B. System, EntityFramework usw. Selbst wenn ich Referenzen entferne und manuell neu setze fehlt der Pfad zu der DLL. Auch nach einem Restore der NuGet Pakete fehlen die Pfade. Lediglich die Referenzen innerhalb der Solution sind vorhanden.

Kann mir jemand sagen was hier schiefläuft?

29.04.2019 - 22:14 Uhr

Ich hatte das seiner Zeit von 10 auf 15 die Lösung war recht trivial, einfach die betreffende Datei bearbeiten und dann builden, eine neue Leerzeile einfügen hat da gereicht. Die Lösung hatte ich damals auch in einem anderen Forum gepostet, da hat es auch geholfen. Ob das hier jetzt auch funktioniert??

17.04.2019 - 09:11 Uhr

Bitte einfach mal den Link lesen.........

17.04.2019 - 06:29 Uhr

Vielleicht hilft dir das ein wenig weiter: Visual Studio Community Lizenzbedingungen

08.03.2019 - 19:37 Uhr

Super, das ging ja mehr als schnell! Bei den Tutorials die ich mir angeschaut habe, wurde leider nicht einmal auf deinen Tipp hingewiesen.

Vielen Dank für deine Hilfe! 👍

08.03.2019 - 19:19 Uhr

Hallo zusammen,

ich mache gerade erste Gehversuche mit einer ASP.Net Core Web API. Lokal funktionieren die vier Basis Methoden wunderbar. Auf meinem 1&1 Webserver habe ich allerdings ein Problem mit der Put und Delete Methode.

Ich erhalte diese Fehlermeldung: > Fehlermeldung:

IIS 10.0 Detailed Error - 405.0 - Method Not Allowed

Laut Google sollen folgende Zeilen in der web.config das Problem beheben:


<system.webServer>
    <modules>
      <remove name="WebDAVModule" />
    </modules>
    <handlers>
      <remove name="WebDAV" />
    </handlers>
  </system.webServer>

Leider hat das nicht geholfen. Im Netzt finden sich auch diverse Anleitungen wie man diese WebDAV Geschichte im IIS deinstalliert. Leider kann man bei 1&1 den IIS nicht konfigurieren.

Wann wird die web.config gelesen? Wird/wurde die neue Version überhaupt eingelesen, oder läuft der Service noch mit der alten Version?

Was kann ich noch unternehmen? Vielen Dank schon mal für eure Unterstützung!

01.12.2018 - 13:43 Uhr

Das UI ist doch auch eine Schnittstelle.
Puh, wirklich? Auf diesem Niveau jetzt...? 👶){gray}

Das ist eine eindeutige Aussage und diese kann man lesen wie man will, die Message ist eindeutig! Alles andere kann ich stehen lassen und ist auch ok, fertig!

01.12.2018 - 08:18 Uhr

Gerade fundierte Meinungen sind für dieses Forum (und im Allgemeinen) sehr wichtig !
Und ob von oben herab oder auf gleicher Augenhöhe liegt immer im Auge des Betrachters 😉

Ja fundierte "Meinungen" und Wissen sind sicher gut für ein Forum! Höfliche Umgangsformen aber genau so und gerade von Moderatoren würde ich -neben dem fachlichen- ein gewisses Maß an sozialer Kompetenz erwarten.

Was bitte ist an meinen Mutmaßungen so falsch, dass Du der Meinung bist das es im Auge des Betrachters liegt? Bei Wikipedia steht das RPAs sich an Benutzerschnittstellen bedienen, also auch am GUI. Dieses Screen Scraping ist ein wichtiges Tool von RPAs, so kann man es zumindest im Netzt lesen. Und Hersteller wie Symphony und UiPath werben damit, dass ihre RPAs das GUI auswerten können. Ich bin sicher mit dem Vokabular bei dieser Thematik nicht firm, aber habe ich wirklich Äpfel mit Birnen verglichen?

Ich kenne mich mit dem Thema nicht aus, finde es aber sehr interessant. Insbesondere die rechtliche Situation hat mich interessiert, da in meinem Unternehmen diese Tools im Rahmen von Industrie 4.0 eingesetzt werden. Nur deshalb hatte ich mir hier gemeldet.

Auch wenn ich scheinbar ein Volltrottel bin, hoffe ich das mein Beitrag in irgend einer Form nützlich ist.......

30.11.2018 - 23:08 Uhr

So zurück......

@oehrle

Bei uns im Unternehmen wird das mit UiPath gemacht, nennt sich Screen Scraping. Selbst programmieren ist eine Hausnummer, du musst eine OCR -Library implementieren, mir allen Schwierigkeiten. Da ist die Schnittstelle vom Hersteller bestimmt zuverlässiger und günstiger als was selbstgemachtes. Aber dennoch: https://www.uipath.com/de/solutions/technology/screen-scraping

Was der Spass kostet kann ich dir leider nicht sagen. Bei einem Beratungsgespräch könntest du die rechtliche Situation auch ansprechen.

30.11.2018 - 19:43 Uhr

Äpfel vs Birne? 👶
Wie zum Teufel kommt man von einem HMI UI zu einem RPA Bot?

Die werten doch auch das UI aus um einen Menschen nach zu machen?

Aber vielleicht antwortest du mir lieber doch nicht! Macht kein Spass mit dir!

Puh, wirklich? Auf diesem Niveau jetzt...? verwundert

Irgendwie bist du immer von oben her){gray}ab unterwegs, eigentlich sehr schade für diese Forum!

30.11.2018 - 19:06 Uhr

In den Nutzungsbedingungen von Software ist daher nicht selten aufgeführt, dass Informationen nicht maschinell ausgelesen werden dürfen, sondern verweisen auf die Schnittstellen.

Das UI ist doch auch eine Schnittstelle. Was macht da den Unterschied, ob ich Daten nun händisch abtippe und in z.B. Excel einpflege oder es automatisiert mache? Kann man das wirklich verbieten? Ich habe doch für das UI gezahlt, dann muss ich es doch beliebig auswerten können, oder? Wie sieht das mit Software-Robotern (RPA-Bots) aus? Aber vermutlich bin ich einfach zu gutgläubig für diese Welt! 👅

01.09.2018 - 09:52 Uhr

@Christoph1972
Ist das nicht bei Belegen eine Status Quo?
Bin davon ausgegangen, dass dies nämlich auch in diesem Fall schon so ist.
Kenne kaum Belege die keinen Barcode mit der Belegnummer aufdrucken.

Dann wäre doch die Frage überfüssig, oder? Ich gehe davon aus dass der TO noch nichts hat.

01.09.2018 - 08:34 Uhr

Im einfachsten Fall in dem auf dem Beleg die Belegnummer vermerkt ist.

Wenn es dann richtig chic werden soll, wird die Belegnummer als Barcode abgebildet und die Auszahlungsstelle scannt diesen dann einfach ein.

18.07.2018 - 16:28 Uhr

Du musst unter Local Git Repository auf "Clone" klicken und dann die Repository URL angeben.

Super, vielen Dank für die nette Unterstützung, jetzt läuft es! Ich habe Clone falsch interpretiert, was vermutlich an meiner Vorbelastung mit ANKHSVN liegt. Auch habe ich unten rechts den Button "Add to source control" zu spät gesehen, diesen hatte ich vergeblich im Kontextmenü der Projektmappe gesucht, wie bei ANKH halt. Jetzt muss ich erstmal mit dem Tool einwenig üben. Das was ich bisher gesehen habe, gefällt mir schon mal sehr gut und ich denke das ich damit klar kommen werde.

Also, vielen Dank noch mal an euch!

18.07.2018 - 13:24 Uhr

Visual Studio 2017 15.7.4

Die Links sind ja bereits etwas älter, von daher sollte das nicht zutreffen.

So sieht die URL aus: http://ComputerName:3000/

Folgende URLs habe ich eingegeben:

Bei Manage Connections: http://ComputerName:3000

Bei Add: http://ComputerName:3000/Christoph/

Bei Clone:http://ComputerName:3000/Christoph/TestRepository

Mit dem Internet Explorer funktioniert es.

18.07.2018 - 12:41 Uhr

Versuchst Du ein HTTP Repository über SSH zu clonen?

Keine Ahnung, ich füge einfach die URL in dem Team Explorer ein. Add und New habe ich primär versucht, Clone erst später.

18.07.2018 - 11:53 Uhr

Und die URL sollte dieselbe sein, die du auch über den WebBrowser aufrufst.

Ich versuche es die ganze Zeit mit der selben URL.

Add = "Directory not found"
New = "URI formats are not supported."
Clone = Der Button Clone bleibt immer inaktiv.

Einfach geht bei mir nie! 😄

18.07.2018 - 10:56 Uhr

Hallo zusammen!

Sorry, ich habe erst jetzt wieder Zeit mich mit Git zu beschäftigen.

Für den Serverbetrieb habe ich mich für gogs.io entschieden, da mir die Homepage von denen am meisten zugesagt hat. Als Datenbank habe ich MSSQL genommen, da diese bereits vorhanden war und regelmäßig gesichert wird. Auf dem Server habe ich Git und gogs installiert und auch konfiguriert. Auf dem Server kann ich lokal per Webbrowser Repositories anlegen und verwalten. Soweit scheint schon mal alles zu laufen.

Nun meine Frage: Wie verbinde ich jetzt VS mit einem Repository? Das geht über den Team-Explorer, oder? Wie muss die Verbindungszeichenfolge aussehen? http://ComputerName//........???

Ich schaffe es leider nicht eine Verbindung aufzubauen, der Server oder das Repository wird nicht gefunden.

05.07.2018 - 17:57 Uhr

Hallo zusammen,

gut möglich das ich das Problem jetzt los bin, zumindest ist es in der vergangenen Woche nicht mehr aufgetreten. Da ich schon mal geglaubt habe, dass ich das Problem los sei, bin ich mit der Aussage doch ehr vorsichtig.

Ich hatte bereits das VS neu installiert, ohne Erfolg. Letztendlich habe ich mich dazu entschlossen, das Windows neu zu installieren und nun startet der Debugger spürbar schneller und das Problem ist bisher nicht mehr aufgetreten. Ich bin nun erstmal optimistisch! =)

Vielen Danke für eure Unterstützung, wirklich sehr nett!!

25.06.2018 - 13:22 Uhr

Gibt es einen Grund warum hier noch SVN statt Git genutzt wird?

Was passiert mit den Projekten die aktuell auf dem SVN-Server liegen?

Das Einrichten eines lokalen Git-Servers erscheint mir doch recht kompliziert, oder mache ich mir da unnötige Sorgen?

Im Netzt habe ich häufiger die Empfehlung gelesen, dass für einzelne Entwickler SVN vorteilhafter ist, da die Konfiguration und das Handling einfacher bzw. intuitiver sind.

25.06.2018 - 10:56 Uhr

Hallo zusammen,

bis vorkurzem war meine Versionierung mittels AnkhSVN direkt in Visual Studio integriert. Die Versionierung läuft/lief auf einem internen Server mit VisualSVN.

Mit dieser Lösung war ich eigentlich immer super zufrieden und hätte sie gerne weiterverwendet. Nur leider funktioniert AnkhSVN nicht mehr mit Visual Studio 2017. Das Problem haben auch andere User und es scheint so, als wenn das Problem nicht angegangen wird. Da es schon lange kein Update mehr von AnkhSVN gab und das Problem schon länger bekannt ist, bin ich nun auf der Suche nach einer neuen Lösung.

Nun meine Fragen:

Kann ich die aktuellen Daten von meinem SVN Server irgendwie integriert im Visual Studio weiter Verwenden? Wenn ja, wie?

Was gibt es für Lösungen die mir die Verwendung eines internen SVN Servers erlauben?

Hat hier jemand Erfahrungen mit TortoiseSVN für Visual Studio? Kann man das auch mit meinem SVN-Server verwenden, oder geht das nur für lokale Repositories?

Vielen Dank schon mal!

23.06.2018 - 09:41 Uhr

Was ist mit .IsReadOnly oder gibt es die Property im DataGrid für die TextBox nicht?

11.06.2018 - 11:42 Uhr

Hallo Zusammen,

ich muss das Problem noch mal nach oben holen, da es nicht - wie gedacht - behoben ist. Das beschriebene Problem holt mich sporadisch immer wieder ein.

Das aktuelle Projekt habe nach und nach zurückgebaut, bis quasi nur noch ein nacktes Window übrigblieb, um sicherzustellen, dass ich die Exception nicht mit meinem eigenen Code auslöse. Die Exception kommt aber auch mit minimalsten Code.

Zwischenzeitlich hat sich herausgestellt, dass dieses Problem nicht Projekt bezogen ist und auch in anderen Projekten auftritt und je mehr Code ein Projekt hat, desto häufiger tritt es auf. Zudem habe ich das Projekt, bei dem die Exception am häufigsten kommt, auch auf einem anderen Rechner getestet und konnte das Problem soweit nicht nachstellen. Das Problem besteht scheinbar nur auf meinem Gerät. Ohne Debugger kann ich das Problem soweit auch nicht nachstellen, was aber nichts heißen muss.

In der App.xaml.cs sind folgende ExceptionEventHandler abonniert und diese werden vor der Meldung im Visual Studio auch geworfen.


DispatcherUnhandledException
AppDomain.CurrentDomain.UnhandledException

Source bei der Exception ist immer die WindowsBase.dll

Das Problem muss ich irgendwie beheben, da der Debugger temporär nicht mehr gestartet werden kann und das behindert mich dann sehr.

Wie würdet ihr weiter vorgehen, was kann ich noch unternehmen?

09.05.2018 - 06:43 Uhr

So, ich habe es, der Tag war wohl gestern zu lang. 😃

Der Command muss als RelayCommand und nicht als ICommand instanziert werden.


public RelayCommand SetValueCommand { get; set; }

Vielen Dank für die Unterstützung!

08.05.2018 - 22:48 Uhr

Vielen Dank für die Hilfe!

PropertyChanged hatte ich bereits probiert, das hat nicht geholfen. Wie gesagt, mit der CommandMap funktioniert es ja, demnach wird auch korrekt getriggert.

RaiseCanExecuteChanged() gibt der RelayCommand vom MVVM Light nicht her. Das werde ich mir morgen noch mal genauer anschauen!

08.05.2018 - 21:17 Uhr

Hallo Leute,

ich realisiere gerade mein erstes Projekt mit dem MVVM Light Toolkit und habe ein Problem mit dem RelayCommand. Eine CanExecute Funktion soll bei > -1 true sein. Wenn ich mein View Model mit -1 initialisiere, ist der Button wie erwartet nicht enabled. Wenn ich nun den Wert ändere (>-1) bleibt der Button immer noch disabled, er bekommt demnach nicht mit, dass sich der Wert geändert hat. Das Problem mit der Aktualisierung ist ja allgemein bekannt und kann i.d.R mit CommandManager.InvalidateRequerySuggested() umgangen werden. Das funktioniert nur komischerweise nicht, zumindest nicht mit dem RelayCommand vom MVVM Light Toolkit. Wenn ich die CommandMap implementiere funktioniert die Aktualisierung einwandfrei.

Folgende Beobachtung habe ich gemacht: Wenn ich das View Model mit +1 initialisiere ist der Button korrekterweise enabled. Wenn ich dann den Werte auf <0 ändere, bleibt der Button augenscheinlich enabled, aber der Command wird beim klicken nicht ausgeführt.

Anbei etwas Demo Code, mit dem ich das Problem nachgestellt habe:


<Window x:Class="MVVMLightCanExecuteTest.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:vm="clr-namespace:MVVMLightCanExecuteTest.ViewModel"
        xmlns:local="clr-namespace:MVVMLightCanExecuteTest"
        mc:Ignorable="d">
    <Window.DataContext>
        <vm:MainViewModel></vm:MainViewModel>
    </Window.DataContext>
    <Grid>
        <!--Demo TextBox-->
        <TextBox Text="{Binding IntValue}"/>
        <!--Ist an XValue gebunden, XValue ist im VM mit -1 initialisiert-->
        <TextBox Text="{Binding XValue}"/>
        <!--Wenn XValue > -1 ist soll der Button Enabled sein-->
        <Button Command="{Binding SetValueCommand}" />
    </Grid>
</Window>


    public class MainViewModel : ViewModelBase, INotifyPropertyChanged
    {
        public ICommand SetValueCommand { get; set; } 

        public MainViewModel()
        {
            SetValueCommand = new RelayCommand(() => SetValue(), CanExecute);
        } 

        private bool CanExecute()
        {
            return XValue > -1;
        } 

        private void SetValue()
        {
            IntValue += 100;
        }

        public int IntValue { get; set; } = 100; 

        private int _XValue = 1; 

        public int XValue
        {
            get => return _XValue; 

            set
            {
                _XValue = value;
                CommandManager.InvalidateRequerySuggested();
            }
        }
    }

Hat hier jemand eine Idee was ich anders machen könnte? Bei Google habe ich leider nichts passendes gefunden, was ich irgendwie nicht glauben kann. Ich werde doch nicht der erste sein dem das auffällt, oder?

29.03.2018 - 16:33 Uhr

Hallo zusammen,

vielen Dank für die Unterstützung!

Mit der Installation von SSMS 2017 konnte ich das Problem umgehen, die 2014 Version habe ich nicht mehr zu laufen gebracht.

@Th69: deinen Hinweisen bin ich nicht mehr nachgegangen, da ich die betroffene Version zu dem Zeitpunkt bereits deinstalliert war.

Laut unserer IT habe ich am Montag ein Update für das Framework 4.6.1 erhalten. Es würde mich nicht wundern, wenn das zusammenhinge. Aber gut, ich bin jetzt wieder glücklich!

Frohes Ostertage wünsche ich!

28.03.2018 - 22:10 Uhr

verwendetes Datenbanksystem: SQL Server 2014

Hallo zusammen,

ich habe ein Problem mit meinem SQL Server Management Studio bzw. mit meinem SQL Server. Das Management Studio stürzt immer direkt beim starten ab, lediglich mit der Meldung "Das Programm muss beendet werden".

Der Event Viewer listet folgende Fehlermeldung:> Fehlermeldung:

Protokollname: Application
Quelle: Application Error
Datum: 28.03.2018 15:38:08
Ereignis-ID: 1000
Aufgabenkategorie: (100)
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: ******************************
Beschreibung:
Name der fehlerhaften Anwendung: Ssms.exe, Version: 2014.120.2000.8, Zeitstempel: 0x5306c06d
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 6.3.9600.18895, Zeitstempel: 0x5a4b125e
Ausnahmecode: 0xc000041d
Fehleroffset: 0x00015608
ID des fehlerhaften Prozesses: 0x2328
Startzeit der fehlerhaften Anwendung: 0x01d3c699fe6d0b96
Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Ssms.exe
Pfad des fehlerhaften Moduls: C:\WINDOWS\SYSTEM32\KERNELBASE.dll
Berichtskennung: 3f9bf3dd-328d-11e8-829e-40b034f35c39
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:
Ereignis-XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2018-03-28T13:38:08.000000000Z" />
<EventRecordID>317319</EventRecordID>
<Channel>Application</Channel>
<Computer>******************************</Computer>
<Security />
</System>
<EventData>
<Data>Ssms.exe</Data>
<Data>2014.120.2000.8</Data>
<Data>5306c06d</Data>
<Data>KERNELBASE.dll</Data>
<Data>6.3.9600.18895</Data>
<Data>5a4b125e</Data>
<Data>c000041d</Data>
<Data>00015608</Data>
<Data>2328</Data>
<Data>01d3c699fe6d0b96</Data>
<Data>C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Ssms.exe</Data>
<Data>C:\WINDOWS\SYSTEM32\KERNELBASE.dll</Data>
<Data>3f9bf3dd-328d-11e8-829e-40b034f35c39</Data>
<Data>
</Data>
<Data>
</Data>
</EventData>
</Event>

Die Dienste vom Server wurden gestartet.

Ich habe das SSMS neu installiert, leider erfolglos. Dann habe ich den gesamten Server deinstalliert und wieder installiert, das Management Studio stürzt immer noch ab. Nun habe ich per Zufall rausgefunden, dass wenn ich das SSMS als Admin starte, läuft es wie gewünscht. Auch der Zugriff per Server Explorer im Visual Studio funktioniert nicht und führt zu einer Fehlermeldung.

Kann hier tatsächlich ein Berechtigungsproblem vorliegen, oder stimmt was mit meiner .Net Installation nicht? Hat hier jemand eine Idee was da los sein könnte? Was kann ich tun? Ich bin gerade einwenig ratlos. 🤔

13.03.2018 - 06:35 Uhr

Guten Morgen!

Setz mal die ComboBox auf "IsEditable=True". Ich meine das ich mal exakt das selbe Problem damit gelöst habe. Vielleicht hilft das ja? Ich könnte auch suchen ob ich wiederfinde wir das damals gemacht habe.

13.03.2018 - 06:29 Uhr

Guten Morgen zusammen!

Eigentlich wird doch bei "Projektmappe" neu erstellen bzw. bereinigen auch alles gelöscht, oder?

Ah, ok. Das hatte ich bei "Projektmappe bereinigen" bisher gedacht. Aber gut zu wissen, das stimmt mich um so optimistischer dass das Problem damit behoben ist.

Die PDB-Datei wird vermutlich aus dem NuGet kommen, das Du konsumierst.
Dadurch kann auch das Zeug gedebuggt werden.

Ist das eine Konfigurationssache von Nuget? pdb's werden ja nicht zwangsläufig bei Nuget-Unterstützung angelegt.

Das es ein Problem mit neinem XAML gibt kann ich aktuell nur schwer glauben, aber das wer weiss......

Falls das Problem wieder auftaucht, werde ich mich hier noch mal melden!

Vielen Dank für die Unterstützung!

12.03.2018 - 18:05 Uhr

Hallo zusammen,

vielen Dank für die Unterstützung!

Also, ich habe heute alle .pdb und .xml Dateien in dem Debug Ordner gelöscht. Jetzt kommt die Fehlermeldung nicht mehr und das Debuggen startet erheblich schneller. Eigentlich wird doch bei "Projektmappe" neu erstellen bzw. bereinigen auch alles gelöscht, oder? Das hatte ich letzte Woche gemacht, ohne Erfolg. Was mir aufgefallen ist, es wird immer eine Datei (GalaSoft.MvvmLight.Platform.pdb) vom MVVM Light Tool Kit in dem Ordner erzeugt. Kommt der Debugger möglicherweise mit dieser Datei durcheinander? Warum wird diese Datei überhaupt angelegt??

@unconnected
Müsste es bei einer Endlosschleife nicht so sein, das der Fehler immer kommt und nicht nur sporadisch?

10.03.2018 - 21:19 Uhr

Vielen Dank für die Unterstützung!

Da ich deinen Code nicht kenne kann ich das nicht beurteilen ob es die gleiche Ursache ist.

Nein, das kann/sollte nicht die gleiche Ursache sein. Es gibt in dem Projekt kein Code behind, also auch kein Zugriff auf irgendwelche Controls oder ähnliches.

09.03.2018 - 17:38 Uhr

Hallo zusammen,

ich habe ein Problem mit Visual Studio 2017 Pro. Es kommt sehr häufig vor, dass beim Starten des Debuggers, die Anwendung angehalten wird. Teileweise muss ich 3,4,5 mal das Debuggen neu starten damit das auszuführende Programm startet. Es kommt immer folgenden Meldung:

Die Anwendung befindet sich im Haltemodus.

Ihre App wurde angehalten, aber es gibt keinen anzuzeigenden Code, da alle Threads externen Code ausgeführt haben (normalerweise System- oder Frameworkcode).

In der Ausgabe erschein dann folgende Fehlermeldungen.

Fehlermeldung:
Es ist ein Problem in der WindowsBase.dll aufgetreten.

Fehlermeldung:
Unbehandelte Ausnahme: System.InvalidOperationException: Die Verteilerverarbeitung wurde deaktiviert, es werden jedoch weiterhin Nachrichten verarbeitet.
bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

Ich habe keine Idee wo das herkommen kann. Bis auf MVVM Light gibt es keine fremden Komponenten in dem Projekt, kein Threading oder ähnliches.

Kann ich die Einstellungen für den Debugger möglicherweise anpassen? Einen Abgleich der Einstellungen für den Debugger habe ich mit einem zweiten Rechner bereits durchgeführt und konnte keine Unterschiede feststellen. Ich denke meine Installationen laufen mit den Standardeinstellungen.

Bei der Suche mit Google habe ich zu dem Thema ein Post in einem anderen Forum gefunden, leider ohne Reaktion.

Vielleicht hat ja hier jemand eine Idee wie ich das Problem in den Griff bekommen kann? Teilweise nervt das extrem.

LG
Christoph

07.03.2018 - 06:15 Uhr

@T-Virus: Vielen Dank für die nette Erläuterung!

Also rufe ich Asynchrone Methoden parallel auf, oder?

06.03.2018 - 21:49 Uhr

Das ist nicht Asynchron, dass ist parallel.

Wie, das wurde mir hier die ganze Zeit abgesprochen!? Das sein eben nicht parallel, sogar überhaupt nicht aber gar nicht parallel!

06.03.2018 - 20:39 Uhr

Es wurde ja schon mehrfach darauf hingewiesen, daß Parallelität und Asynchronität zwei völlig unterschiedliche Dinge sind.

Ich habe auch nie etwas anderes behauptet. Ich behaupte lediglich, das es eine Nebenläufigkeit geben kann und in meinem Beispiel auch gibt.

Wie würdet ihr denn den Zustand beschreiben den ich in der Skizze (Dateianhang) aufgeführt habe?

06.03.2018 - 18:20 Uhr

Du würdest also eine Person als teil-schwanger bezeichnen, weil Teile der Bevölkerung schwanger sind. Hier gehts um die richtigen Begrifflichkeiten, das Thema an sich ist längst abgehakt. Und wenn dir mehrere Leute sagen, Teil-Parallelität gibt es nicht, dann beharrst du trotzdem darauf. Dann können wir das so hinnehmen, aber die Diskussion bringt dann halt nix.

Dann erkläre doch bitte wie das Ergebnis ohne Nebenläufigkeiten zustande kommen kann.

Du benutzt doch die selben Begrifflichkeiten -der Code, der nur ** zum Teil parallel** ausgeführt- wie ich, um das zu beschreiben.

Wir können uns auch gerne darüber unterhalten, ob ein Ballon fliegt oder fährt. 😃

Aber wir belassen das jetzt einfach dabei! Ich bin so oder so zufrieden, meine Frage wurde beantwortet.

06.03.2018 - 16:58 Uhr

Aber Code, der teil-parallel ausgeführt wird, was sollte das sein...?

Das sollte folgendens sein:

Teile des Codes, die parallel ausgeführt werden. Oder Code, der nur zum Teil parallel ausgeführt wird.

In Meinen Augen ist das nur rhetorisch. Die Ergebnisse sprechen einfach für eine gewisse Parallelität.

EDIT:
Du bezeichnest es ja selbst als Teil-parallel:

Oder Code, der nur zum Teil parallel ausgeführt wird

06.03.2018 - 16:21 Uhr

Was du meinst wäre eine hinreichende Ähnlichkeit zu parallelem Verhalten, aber es ist wie gesagt nicht parallel.

Ok, dann sind wir uns ja quasi einig, die Unstimmigkeit ist dann wohl rein rhetorisch.

"hinreichende Ähnlichkeit zu parallelem Verhalten" == "Teil-parallel" 😃

05.03.2018 - 17:22 Uhr

Das Waschen erfolgt hier imho parallel. Das Probleme mit dieser herangehensweise ist nicht das Waschen selber (Warten auf die Datenbank antwort), sondern das befüllen, entleeren (z.B. Mappen von Objekten) Das machst Du in diesem Fall alleine, also nacheinander.

Vielleicht ist es nicht ganz Parallel, aber zum mindest Teil-parallel, vorausgesetzt die Aufgaben sind lang genug. Die Teil-Parallelität ist in dem Link von Abt ja auch dargestellt. Von daher ist es auch nicht korrekt von "keinerlei Parallelität" zu sprechen, oder? Es ist halt nicht Synchron.

Wie dem auch sei, meine eigentliche Frage ist ja schon lange geklärt!

Vielen Dank an euch!

03.03.2018 - 09:32 Uhr

Es gaukelt Dir das einfach vor, weil die Ausführungsreihenfolge einfach nicht garantiert ist. Parallel ist es noch lange nicht.

Was wäre denn jetzt wirklich parallel? Was sollen wir besser machen?

23.02.2018 - 06:33 Uhr

Guten Morgen!

Danke für die Info! Ich hatte ja bereits befürchtet das mir das um die Ohren fliegen könnte. 😃

  • async/await hat nichts mit Performance im Sinne von mehr Geschwindigkeit zutun.
  • Du willst ist nicht async/await sondern Parallelität

Wie meinst du das?

Ich habe das zum Testen so umgesetzt und habe einen erheblichen Zeitvorteil.


private async void Test()
{
    Repository rep = new Repository();

    Stopwatch watch = new Stopwatch();
    watch.Start();

    Task<List<string>> userList = rep.GetUsersAsync(this);
    //var userList = rep.GetUsers();
  
    Task<List<string>> specialUserList = rep.GetSpecialUsersAsync();
    //var specialUserList = rep.GetSpecialUsers();
  
    Task<List<string>> powerUsers = rep.GetPowerUsersAsync();
    //var powerUsers = rep.GetPowerUsers();
 
    ItemsU = await userList;
    ItemsSU = await specialUserList;
    ItemsPU = await powerUsers;

    //ItemsU = userList;
    //ItemsSU = specialUserList;
    //ItemsPU = powerUsers;
    watch.Stop();

    Trace.WriteLine(watch.ElapsedMilliseconds / 1000);
}

22.02.2018 - 21:33 Uhr

Hallo zusammen,

ich muss eine Access "Datenbank" mit 2GB (damit ist das Limit bei Access erreicht) auf eine richtige Datenbank migrieren. Die Abfragen auf die Access Datei dauern relativ lange. Nun ist mir die Idee gekommen, die Abfragen mit async und await zu machen, um den Prozess etwas zu beschleunigen. Macht das bei einer Access Datei überhaupt sinn, oder wird der asynchrone Zugriff sowieso geblockt? Oder fliegt mit die Datei nach einer Weile um die Ohren und die neu erzeugte Datenbank ist gleich inkonsistent? 😃

Kann man einen asynchronen Zugriff mit Access realisieren, oder lässt man das besser?

Auf eure Antworten bin ich schon sehr gespannt!