ItemTemplate DataTemplate için bir düğme içeren bir ItemsControl var. Düğme üzerindeki Komutu, ItemTemplate'ı değil, ItemsControl'ün DataContext'indeki bir Komut'a bağlamayı istiyorum. Ben çözüm RelativeSource kullanarak ilgisi var düşünüyorum, ama benim girişimleri defa başarısız:Öğelerden birinden ItemsControl'ın DataContext nesnesine bağlama
<ItemsControl ItemsSource="{Binding Games}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Command="{Binding Path=GameSelectedCommand, Source={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}}}"
CommandParameter="{Binding}"
Style="{StaticResource MenuButtonStyle}"
Content="{Binding Name}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
nasıl Düğme itemscontrol en DataContext nesnesinin GameSelectedCommand bağlanmasına alabilirim?
Cevabınız için teşekkürler, ama bunu gerçekten denedim. Aşağıdaki DataBinding hata var: System.Windows.Data Hata: 39: BindingExpression yolu hatası: 'DataContext' özelliği 'object' '' RelativeSource '(HashCode = 50668565)' bulunamadı. BindingExpression: Yol = DataContext.GameSelectedCommand; DataItem = 'RelativeSource' (HashCode = 50668565); hedef eleman 'Button' (Name = ''); hedef özelliği 'Komut' (tip 'ICommand') 'dir Aslında ItemsControl'ü bulmanın kendisinin bulamadığından emin değilim –
Ha! Üzgünüz, RelativeSource = "..." yerine Source = "..." aldığınız gerçeğini kaçırdım. Güncellenmiş cevabımı görün. –
bu kadar, teşekkürler. –