2012-09-13 19 views
10

में बटन पर एक WPF बटन कमांड पैरामीटर को बाध्यकारी मेरे पास एक डेटा टेम्पलेट है जो ऐपबार बटन का प्रतिनिधित्व करता है जिसे मैं कस्टम AppBarCommand ऑब्जेक्ट्स के संग्रह के माध्यम से घोषित करता हूं।डेटा डम्प्लेट

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

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

मैं एक कमांड पैरामीटर बाध्यकारी जोड़ना चाहता हूं, लेकिन पैरामीटर को बटन होना चाहिए। ऐसा इसलिए है कि मैं एक कॉलिस्टो फ्लाईआउट के प्लेसमेंट लक्ष्य को सेट कर सकता हूं। क्या यह संभव है?

+0

शायद आसान बटन घटना क्लिक संभालने के लिए। आपके हैंडलर में प्राप्त पहला तर्क बटन होगा। – Jay

उत्तर

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

आपका कमान संपत्ति RelayCommand का जेनेरिक वर्जन होना चाहिए: उदाहरण के लिए RelayCommand<object>

+0

कोई मेरे से तेज़ है! +1 –

+0

संकलित नहीं कर सकता। – aaron

4

उत्तर Miklós बालोघ की तरह कहा, या आप कर सकते हैं:

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