2012-09-13 17 views
10

Özel AppBarCommand nesnelerinin bir koleksiyonunda bildirdiğim AppBar düğmelerini temsil eden bir DataTemplate var.Bir WPF Düğmesinin CommandParameter'ı DataTemplate'de Düğme'ye Bağlama

public AppBarCommand(RelayCommand command, string buttonstyle) 
    { 
    Command = command; 
    ButtonStyle = buttonstyle; 
    } 

<DataTemplate> 
    <Button Command="{Binding Command}" 
      Style="{Binding ButtonStyle, Converter={StaticResource StringNameToStyleConverter}}"/> 
</DataTemplate> 

Ben bağlayıcı bir CommandParameter eklemek istiyorum, ama parametre Düğme kendisi olmak zorundadır. Bu yüzden bir Callisto açılır menüsünün PlacementTarget öğesini ayarlayabilirim. Mümkün mü?

+0

kolay Button'un Click olayını işlemek için. İşleyicinizde aldığınız ilk argüman Düğme olacaktır. – Jay

cevap

25
<Button Command="{Binding Command}" 
     CommandParameter="{Binding RelativeSource={RelativeSource Self}}" /> 

Komuta mülkiyet RelayCommand jenerik sürümü olmalıdır: Örneğin RelayCommand<object>. Miklós Balogh gibi

+0

Benden hızlı birileri! +1 –

+0

derlenemiyor. – aaron

4

Cevap söyledi, yoksa şunları yapabilirsiniz:

<Button x:Name="MyButton" Command="{Binding Command}" CommandParameter={Binding ElementName=MyButton ... /> 
Muhtemelen
İlgili konular