Hallo Leute,
ich könnte mir echt die Haare raufen...
ich bekomme ein Command-Binding-Error angezeigt. Aber wenn ich es ausführe, funktioniert dennoch alles tadellos, sodass das Binding (zumindest meiner Meinung nach) aufgelöst wird. Ich habe mittlerweile ein größeres Projekt und bin Binding-Error immer auf die Schliche gekommen, um zu verstehen, was das Problem ist. Aber diesen bekomme ich nicht weg, finde aber auch den Weg nicht. Angezeigt wird mir folgendes:
bemängelt wird folgender Code:
welcher sich insgesamt hier befindet:
in der View NLSMembers ist der Command wie folgt hinterlegt (ich stückle mal alle, was nichts damit zu tun hat):
Wenn ich das Programm nun Debugge, bekomme ich wie gesagt, diesen Fehler angezeigt. Wenn ich nun aber auf die Checkbox klicke (alle auswählen), dann wählt er auch alle aus, die sich in der Gruppe befinden.
Nun ist meine Frage, warum der Fehler, wenn scheinbar alles funktioniert. Und wie muss ich CollectionGroupViewInternal deuten?
Also ich vermute, dass ich schon soweit scheinbar alles richtig mache (der Code funktioniert so, wie er soll), aber dass ich irgendeine Quintessenz vergessen habe, sodass intern das korrigiert wird, was ich verpatzt habe. Vielleicht kann mir ja jemand erklären, was es mit diesem GroupInternal auf sich hat
ich könnte mir echt die Haare raufen...
ich bekomme ein Command-Binding-Error angezeigt. Aber wenn ich es ausführe, funktioniert dennoch alles tadellos, sodass das Binding (zumindest meiner Meinung nach) aufgelöst wird. Ich habe mittlerweile ein größeres Projekt und bin Binding-Error immer auf die Schliche gekommen, um zu verstehen, was das Problem ist. Aber diesen bekomme ich nicht weg, finde aber auch den Weg nicht. Angezeigt wird mir folgendes:
System.Windows.Data Error: 40 : BindingExpression path error: 'SelectGroup' property not found on 'object' ''CollectionViewGroupInternal' (HashCode=5187119)'. BindingExpression:Path=SelectGroup; DataItem='CollectionViewGroupInternal' (HashCode=5187119); target element is 'CheckBox' (Name=''); target property is 'Command' (type 'ICommand')
bemängelt wird folgender Code:
welcher sich insgesamt hier befindet:
XML-Quellcode
- <GroupStyle.ContainerStyle>
- <Style TargetType="{x:Type GroupItem}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate>
- <Border BorderBrush="LightGray" BorderThickness="1" CornerRadius="10" Margin="5" Padding="10">
- <StackPanel>
- <TextBlock Text="{Binding Name}" x:Name="GroupName"/>
- <CheckBox DataContext="{StaticResource ViewNLSMembers}" Content="Alle auswählen"
- CommandParameter="{Binding ElementName=GroupName, Path=Text}" Command="{Binding SelectGroup, Mode=OneWay}"/>
- <Separator />
- <ItemsPresenter/>
- </StackPanel>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </GroupStyle.ContainerStyle>
in der View NLSMembers ist der Command wie folgt hinterlegt (ich stückle mal alle, was nichts damit zu tun hat):
C#-Quellcode
- public ICommand SelectGroup { get; internal set; }
- SelectGroup = new RelayCommand(SelectGroupExecute);
- private void SelectGroupExecute(object obj)
- {
- NLSUnit unit;
- Enum.TryParse(Convert.ToString(obj), true,out unit);
- ListView listview = MainWindow.AppReference.FindName("OutlookListView") as ListView;
- foreach (NLSMember member in listview.Items)
- {
- if(member.Unit == unit && !listview.SelectedItems.Contains(member))
- {
- listview.SelectedItems.Add(member);
- }
- }
- }
Wenn ich das Programm nun Debugge, bekomme ich wie gesagt, diesen Fehler angezeigt. Wenn ich nun aber auf die Checkbox klicke (alle auswählen), dann wählt er auch alle aus, die sich in der Gruppe befinden.
Nun ist meine Frage, warum der Fehler, wenn scheinbar alles funktioniert. Und wie muss ich CollectionGroupViewInternal deuten?
Also ich vermute, dass ich schon soweit scheinbar alles richtig mache (der Code funktioniert so, wie er soll), aber dass ich irgendeine Quintessenz vergessen habe, sodass intern das korrigiert wird, was ich verpatzt habe. Vielleicht kann mir ja jemand erklären, was es mit diesem GroupInternal auf sich hat
