私はUserControl "SubjectListView"を持っています。バインディングは、SubjectListViewModel内のObservableCollectionである "AllSubjects"に設定されます。名前を取得してコマンドを実行するために使用されます。名前は取得されますが、SubjectListViewModelにもあるコマンドはボタンでは実行されませんが、スコープ外で動的に作成されないボタンでは機能します。MVVM複数のバインディングをユーザーコントロール
解決策はありますか?そのために
<StackPanel>
<ItemsControl ItemsSource="{Binding AllSubjects}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Width="100" Content="{Binding Name}" <!-- Is working-->
Command="{Binding InvasionCommand}" <!--Is NOT working--> />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Content="Check for Invasion" Width="120" Command="{Binding InvasionCommand}" <!-- Is working-->/>
</StackPanel>
はあなたの最も外側の '' StackPanel'のxを与えます。あなたのコマンドバインディングでは、 'ElementName'を使って名前付き' StackPanel'に指示してから、 'Path = DataContext.InvasionCommand'を実行してください。 –
@jbergerこれは今働いています:) – Spalatum