Support, Anregungen, Wünsche zur Tutorialreihe <WPF lernen/>

  • WPF MVVM

Es gibt 448 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Ja.... bin etwas doof heute :(
    den Link hab ich auch schon durch. Dazu ne Frage. bei nugetserver.net/ ist das 9$ einmalig? oder 9$ monatlich? finde da keine weiteren Details

    EDIT: Ich arbeite jetzt erst mal mit einem lokalen NuGetServer, den ich auf der 2. Partition deployd habe.
    Das funktioniert soweit ganz gut.

    Nun hab ich aber ne kurze Frage:
    Wenn ich in einem neuen Projekt nun über NuGet das Paket installiere, wie kann ich dafür sorgen, das in der App.xml direkt die Verweise bzw. die Merged Dictionarys eingetragen werden?
    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MichaHo“ ()

    Laut Beschreibung ist das nur ein Dienst den du mit 9$ kaufst und bei dir lokal läuft. Da kannste ja gleich ein lokales Repository lassen.
    Wenn du einen NuGet Server Online haben willst brauchst du einen Webspace mit IIS. z.b. bei 1 und 1. sind aber dann weis nicht. 4€ im Monat oder so.

    Aber wenn du mal ein wenig damit rumspielen willst dann kann ich dir bei mir derweil einen einrichten. Dann kannst du später mal überlegen ob du das investieren willst.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Ja, ich spiele gerade mit dem lokalen rum.
    Das Package konnte ich installieren, nur wenn ich dann den Verweis in die App.xaml rein haue, gibt er mir den Fehler: DependencyProperty.UnsetValue ist kein gültiger Wert für Background...
    Hmmm...

    Ich hab die ganzen Styles usw. in ein ResourceDictionary zusammengefügt:

    XML-Quellcode

    1. <ResourceDictionary.MergedDictionaries>
    2. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Styles/ControlStyles.xaml"/>
    3. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Styles/DataErrorInfoStyles.xaml"/>
    4. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Styles/DefaultStyles.xaml"/>
    5. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Styles/IconStyles.xaml"/>
    6. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Templates/ControlTemplates.xaml"/>
    7. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Templates/DataTemplates.xaml"/>
    8. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Templates/ItemTemplates.xaml"/>
    9. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/Trigger/ControlTrigger.xaml"/>
    10. </ResourceDictionary.MergedDictionaries>

    und verweise dann in der App.xaml des WPF Programms:

    XML-Quellcode

    1. <Application.Resources>
    2. <ResourceDictionary>
    3. <ResourceDictionary.MergedDictionaries>
    4. <ResourceDictionary Source="pack://application:,,,/MHoApps.Resources.BaseResources;component/MHoApps.Resources.xaml"/>
    5. </ResourceDictionary.MergedDictionaries>
    6. </ResourceDictionary>
    7. </Application.Resources>
    "Hier könnte Ihre Werbung stehen..."
    Schon [STRG] + [Shift] + B gedrückt?

    Ich würde empfehlen hier einen eigenen Thread aufzumachen.
    Dann können wir ja sehen wie was wann und wo.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hi,
    kurzer Zwischenbericht.
    Das mit den Päckchen packen klappt nun mit meinem lokaeln NuGet perfekt.
    Hab auch mal in der Firma den NuGet auf den IIS geschoben (eigene VM), das klappt auch wunderbar.
    Mit den UserControls geht es noch nicht so gut, aber die erstelle ich dann eh im Projekt selbst.
    Mit dem Projekt für die Basisklassen klappt das hingegen einwandfrei.
    "Hier könnte Ihre Werbung stehen..."

    MichaHo schrieb:

    Mit den UserControls geht es noch nicht so gut, aber die erstelle ich dann eh im Projekt selbst.

    Witzig, gerade das sollte eigendlich einwandfrei klappen. Nur ohne deinem Custom Namespace hald.

    Freut mich das du mit NuGet gut zurecht kommst. Ich finde es eine feine Sache. Vorallem weil ich ein Projekt mit Nuget Packeten auf jedem Rechner kompilieren kann ohne irgendwelche Verweise korrigieren zu müssen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    @Nofear23m
    Hallo Sascha,
    kurze Frage, bin mir nicht sicher ob es im Tut schon vorkam.
    Wenn ich ein Window auf WindowStyle="None" und WindowState="Maximized" liegt das Fenster immer über der Taskleiste.
    Kann man das irgendwie verhindern?
    Ich möchte zwar, das das Fenster den ganzen Bildschirm ausfüllt, aber eben nur den verfügbaren Platz, also ohne die Taskleiste.
    Mit MinHeight, MinWidth und MaxHeight, MaxWidth habe ich schon rum gespielt, aber das sieht doof aus, wenn ich das Programm auf nem 24 Zöller oder auf nem 27 Zöller oder auf dem Surface öffne....

    Danke Dir
    "Hier könnte Ihre Werbung stehen..."

    MichaHo schrieb:

    bin mir nicht sicher ob es im Tut schon vorkam.

    Ne, wurde es nicht. Solch "spezielle" Dinge muss man einfach herausfinden.

    Ja, MS würde das vermutlich wieder mit "Its not a bug, its a feature" betiteln. ;)

    Klatsch am besten in dern Konstruktor des Fensters MaxHeight = SystemParameters.PrimaryScreenHeight. Das sollte abhilfe schaffen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Sorry, mein Fehler. Gerade selbst versucht. Haste recht.

    Mach MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight

    Das klappt.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Das passt.
    Hätt ich doch mal nach oben gescrollt in der Liste anstatt runter :(

    EDIT: @Nofear23m, noch eine Frage.
    ich hab im ViewModel der Statusbar ein Datetime drin: public DateTime StatusBarDate => DateTime.Today;
    Im xamle dran gebunden. Ich denke das dann intern ein Converter das ganze zu String umwandelt.
    Leider wandelt dieser Converter es komisch um, Monat und Tag sind vertauscht, aber Punkte zum trennen anstatt Slashes...
    aus 11.04.2019 wird da 4.11.2019. Kann man das irgendwo einstellen oder muss ich selbst nen Converter schreiben?

    EDIT 2:
    wenn ich im XAML xmlns:sys="clr-namespace:System;assembly=mscorlib" hinzufüge, und dann im Label <Label Content="{Binding Source={x:Static sys:DateTime.Today}}" Foreground="WhiteSmoke" /> daran binde, erhalte ich auch 4.11.2019 statt 11.4.2019

    "Hier könnte Ihre Werbung stehen..."

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „MichaHo“ ()

    MichaHo schrieb:

    Ich denke das dann intern ein Converter das ganze zu String umwandelt.

    Ja, es wird ToString() aufgerufen. Ausser du gibst ein Stringformat im binding an. Dort kannst du den String Formatieren was du auch tun solltest.
    Ausserdem gibt es auf Ebene des FrameworkElements die Language eigenschaft. Kannst du also sowohl in der App.xaml für die ganze App also auch z.b. im Window oder auf einem einzelnen Control definieren. Auch in Styles möglich. z.b. Language="de"

    Ansonsten Binding mit StringFormat. Hier ist sogar Custom-Text möglich. z.b. <TextBlock Text="{Binding Source={Binding StatusBarDate}, StringFormat='{}{0: Heute ist dddd, dd.MM.yy}'}"/>

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hi,

    also, egal was ich versucht habe, es klappt nicht, kein Stringformat mit der Propertie, kein Stringformat mit dem sys:Datetime.Today
    keine Umwandlung der Propertie zu String und dann mit DateTime.Today.ToSjortDateString(); brachte alles das gleiche Ergebnis 4.11.2019

    ERST das Language="de" in das UserControl eingefügt stellt das Datum richtig um....
    Keine Ahnung was da ,os ist, hatte noch nie in einem Projekt Probleme damit. Mein VS2017 ist auf Deutsch eingestellt und läuft auf einem Deutschen Windows 10.
    Misteriös
    "Hier könnte Ihre Werbung stehen..."
    Welches Control denn?
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    ein StatusBar:

    XML-Quellcode

    1. <Grid>
    2. <StatusBar Background="{StaticResource StatusBarBackgroundBrush}">
    3. <StatusBarItem HorizontalAlignment="Left">
    4. <Label Content="{Binding StatusBarCopyRight, Mode=OneTime}" Foreground="WhiteSmoke"/>
    5. </StatusBarItem>
    6. <StatusBarItem HorizontalAlignment="Left">
    7. <Label Content="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='{}{0: dd.MM.yyyy}'}" Foreground="WhiteSmoke" />
    8. </StatusBarItem>
    9. <StatusBarItem HorizontalAlignment="Center">
    10. <StackPanel Orientation="Horizontal">
    11. <Label Content="{Binding StatusBarInformation}" Foreground="WhiteSmoke" Style="{StaticResource ButtonIconLabelStyle}"/>
    12. <ContentControl Content="{StaticResource IconCheck}" Style="{StaticResource ButtonIconContentStyle}"/>
    13. </StackPanel>
    14. </StatusBarItem>
    15. <StatusBarItem HorizontalAlignment="Right" >
    16. <StackPanel Orientation="Horizontal">
    17. <ContentControl Content="{StaticResource IconUser}" Style="{StaticResource ButtonIconContentStyle}"/>
    18. <Label Content="{Binding CurrentUser, Mode=OneTime}" Foreground="WhiteSmoke"/>
    19. </StackPanel>
    20. </StatusBarItem>
    21. </StatusBar>
    22. </Grid>
    "Hier könnte Ihre Werbung stehen..."
    Hallo

    Habs gerade wie folgt probiert. Klappt.

    XML-Quellcode

    1. <StatusBarItem HorizontalAlignment="Left">
    2. <Label Content="{Binding CurrDate, StringFormat='{}{dd.MM.yyyy}'}" />
    3. </StatusBarItem>


    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    XML-Quellcode

    1. <Label Content="{Binding StatusBarDate, StringFormat='{}{dd.MM.yyyy}'}" Foreground="WhiteSmoke" />
    bringt bei mir wieder 4.11.2019

    XML-Quellcode

    1. <Label Content="{Binding StatusBarDate, StringFormat='{}{dd.MM.yyyy}'}" Foreground="WhiteSmoke" Language="de"/>
    ist dann richtig herum
    wobei ich dann StringFormat auch weg lassen kann
    "Hier könnte Ihre Werbung stehen..."
    Schon merkwürdig. Da haste irgendwo was drinnen. Komisch
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##