Ich habe eine angefügte Eigenschaft AttachedBehaviorsManager.Behaviors erstellt, die als MVVM-Hilfsklasse verwendet werden soll, die Ereignisse mit Befehlen verknüpft. Die Eigenschaft ist vom Typ BehaviorCollection (ein Wrapper für ObservableCollection). Mein Problem ist, dass die Bindung für den Befehl "Behaviour" immer Null ist. Bei Verwendung auf den Tasten funktioniert es jedoch gut.Angehängte Sammlungselemente Datenkontext verlieren
Meine Frage ist, warum verliere ich meine DataContext auf Elemente innerhalb der Sammlung, und wie kann ich es beheben?
<UserControl x:Class="SimpleMVVM.View.MyControlWithButtons"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:behaviors="clr-namespace:SimpleMVVM.Behaviors"
xmlns:con="clr-namespace:SimpleMVVM.Converters"
Height="300" Width="300">
<StackPanel>
<Button Height="20" Command="{Binding Path=SetTextCommand}" CommandParameter="A" Content="Button A" />
<Button Height="20" Command="{Binding Path=SetTextCommand}" CommandParameter="B" Content="Button B"/>
<TextBox x:Name="tb" Text="{Binding Path=LabelText}">
<behaviors:AttachedBehaviorsManager.Behaviors>
<behaviors:BehaviorCollection>
<behaviors:Behavior Command="{Binding Path=SetTextCommand}" CommandParameter="A" EventName="GotFocus"/>
</behaviors:BehaviorCollection>
</behaviors:AttachedBehaviorsManager.Behaviors>
</TextBox>
</StackPanel>