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

  • »
  • Community
  • |
  • Diskussionsforum
[Erledigt] WPF Binding - Problem auf anderen PC
ThomasE.
myCSharp.de - Member



Dabei seit:
Beiträge: 453

Themenstarter:

[Erledigt] WPF Binding - Problem auf anderen PC

beantworten | zitieren | melden

Guten Tag!

Das Thema ist wieder so ein Unikat, bei dem mir kein besserer Titel eingefallen ist :

Folgende Zustände:

1) Es gibt ein Ribbon UI-Programm in C# .NET4.0, daß im Grunde zur Datenverarbeitung dient.

2) Dieses UI arbeitet fast ausschließlich mit Bindungen, was ja auch alles kein Problem ist.

3) Das Programm liegt auf einem Netzwerkpfad, von dem aus jeder Benutzer das Programm ausführen kann.

4) Es gibt gesamt 10 Rechner die das Programm verwenden. Bei einem Rechner gibt es dieses folgend seltsame Binding-Problem.


Das Problem des einen Rechners:
Sämtliche Bindungen funktionieren einwandfrei und ohne Probleme, abgesehen von einem:

               <ribbon:RibbonGroup Header="Eigenschaften">

                    <!--<ribbon:RibbonSeparator Style="{StaticResource ResourceKey=KeyRibbonSeparatorVertical}" Margin="6,0"/>-->

                    <Grid IsEnabled="{Binding Path=CanUserEditProperties, Mode=OneWay}">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                       
                        <TextBlock Text="Aktueller Status:" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="3"
                                   Foreground="{Binding Path=IsEnabledTextColor, Mode=OneWay}"/>
                        <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center">
                            <Image Source="{Binding Path=CurrentStatusImage, Mode=OneWay}" Width="16" Height="16" Margin="3,0"/>
                            <TextBlock Text="{Binding Path=CurrentStatusText, Mode=OneWay}" Margin="3,0"
                                       Foreground="{Binding Path=IsEnabledTextColor, Mode=OneWay}"/>
                        </StackPanel>

                        <TextBlock Text="Status setzen:"  Grid.Column="0" Grid.Row="1"  HorizontalAlignment="Right" VerticalAlignment="Center" Margin="3"
                                   Foreground="{Binding Path=IsEnabledTextColor, Mode=OneWay}"/>
                        <ribbon:RibbonButton x:Name="buttSetNextStatus"  Grid.Column="1" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center"
                                             Label="{Binding Path=NextStatusText, Mode=OneWay}"
                                             SmallImageSource="{Binding Path=NextStatusImageSource, Mode=OneWay}"
                                             IsEnabled="{Binding Path=CanSetNextStatus, Mode=OneWay}" Click="buttSetNextStatus_Click" />

                        <ribbon:RibbonButton x:Name="buttResetStatus" Grid.Column="0" Grid.Row="2"  Label="Status zurücksetzen:" 
                                             SmallImageSource="/TQS.ProjectManager;component/Images/Redo_Small.png"
                                             IsEnabled="{Binding Path=CanStatusReset, Mode=OneWay}" Click="buttResetStatus_Click" />
                        <ComboBox x:Name="comboBoxResetStatus" Grid.Column="1" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Center" 
                                  Background="Transparent" Width="200"
                                  IsEnabled="{Binding Path=CanStatusReset, Mode=OneWay}"
                                  SelectedItem="{Binding Path=ResetStatusSelect, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                  ItemsSource="{Binding Path=ResetStatusCollection, Mode=OneWay}">
                        </ComboBox>

                    </Grid>

                </ribbon:RibbonGroup>

Der Daten-Kontext wird folgender Maßen zugewiesen:

<ribbon:RibbonWindow x:Class="ProjectManager.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
        xmlns:local="clr-namespace:ProjectManager"
        Title="Programmverwaltung"
		x:Name="RibbonWindow"
		Width="1000" Height="800" Loaded="RibbonWindow_Loaded" Closing="RibbonWindow_Closing"
        FontSize="14" Icon="/ProjectManager;component/Images/ampel_32.png"
        DataContext="{Binding RelativeSource={RelativeSource Self}}"

        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        mc:Ignorable="d" 
        d:DataContext="{d:DesignInstance {x:Type local:MainWindow}}">


Genau an diesen Stellen werden, im Gegenzug zu den anderen Bindungen und PC's, die Bindungseigenschaften nur die ersten 2 Mal abgerufen, danach nicht mehr.
(Der DataContext wird nur 1Mal in XAML zugewiesen.)
(Konnte getestet werden, weil auf dem Rechner das VS2010 installiert ist.)

Kennt irgendjemand von Euch das Problem?
Was für Punkte kann ich noch durchgehen, um das Problem in den Griff zu bekommen?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ThomasE. am .
Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen...
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1115

beantworten | zitieren | melden

Wenn es auf den anderen Rechnern läuft und nur auf einen nicht, würde ich mal schauen, welche Frameworks auf den Rechnen installiert sind. Achte mal besonders auf das Framework 4.5, mit im wurden auch ein paar Inline Updates für das Framework 4.0 ausgeliefert welche zu Problemen führen können.

So ist z.B. wenn nur das Frameworke 4.0 installiert ist das TowBinding an einer ReadOnly Property möglich, mit Installierten 4.5 wird bei der Verwendung von 4.0 eine Exception geschmissen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Palin am .
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden

Zitat
Das Programm liegt auf einem Netzwerkpfad, von dem aus jeder Benutzer das Programm ausführen kann.

Schonmal probiert das Programm lokal zu kopiern? Netzwerkpfade haben manchmal interessante Nebenwirkungen. Vllt hat der eine Rechner andere Sicherheitseinstellungen.
private Nachricht | Beiträge des Benutzers
jogibear9988
myCSharp.de - Member



Dabei seit:
Beiträge: 589
Herkunft: Offenau

Das Tool...

beantworten | zitieren | melden

Kennst du den WPF-Ispektor? Vielleicht kannst du mit dem was feststellen? https://wpfinspector.codeplex.com
cSharp Projekte : https://github.com/jogibear9988
private Nachricht | Beiträge des Benutzers
ThomasE.
myCSharp.de - Member



Dabei seit:
Beiträge: 453

Themenstarter:

beantworten | zitieren | melden

Hallo und danke für Eure Meldungen!

@Palin hört sich interessant an, werd ich prüfen...

@unconnected ja, haben wir schon probiert, ist das gleiche Problem...

@jogibear9988 ebenfalls interessant, wenn Ersteres scheitert, werd ich auf jeden Fall den Inspektor benutzen...

Vielen Dank fürs Erste!
Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen...
private Nachricht | Beiträge des Benutzers
ThomasE.
myCSharp.de - Member



Dabei seit:
Beiträge: 453

Themenstarter:

beantworten | zitieren | melden

Hallo nochmal,


@Palin du hattest recht!

Auf meinem Entwicklungsrechner ist schon das Framework 4.5 installiert, habe aber unter 4.0 entwickelt.

Auf dem betroffenen Rechner war aber nur das Framework 4.0 drauf. Im Vergleich zu den anderen PC's war auch das der Unterschied! Nach diesem Update:

http://www.microsoft.com/de-at/download/details.aspx?id=30653

funktionierte auch auf dem betroffenen Rechner das Programm wie gewohnt.

Vielen Dank für Eure Hilfe!
Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen...
private Nachricht | Beiträge des Benutzers