2010-11-24 16 views
5

मैं देख रहा हूँ वहाँ WPF रिबन उदाहरण के बहुमत की तरहRibbonCommand नहीं मिला था

xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" 

मैं इस त्रुटि मिल रही है कुछ कोड का उपयोग करें ... "प्रकार 'आर: RibbonCommand' था नहीं मिला। सत्यापित करें कि आप एक असेंबली संदर्भ नहीं खो रहे हैं और सभी संदर्भित असेंबली बनाई गई हैं। "

वीएस 2010, .NET 4.0 का उपयोग करना।

मैं यह समझने की कोशिश कर रहा हूं कि रिबन में बटन कैसे जोड़ें और क्लिक होने पर कोड/कमांड निष्पादित करें।

धन्यवाद।

+0

रिबन ग्रुप साइज डिफिनिशन कोलेक्शन भी नामस्थान में मौजूद नहीं है। मैंने एमएस से इस walkthrough डाउनलोड किया और मुझे एक ही त्रुटि मिल रही है। मेरी मशीन में कुछ गड़बड़ है? Http: //windowsclient.net/downloads/folders/hands-on-labs/entry76491.aspx – knockando

+1

रिबन कॉमांड क्लास http://msdn.microsoft.com/en-us/ में मौजूद नहीं है लाइब्रेरी/microsoft.windows.controls.ribbon.aspx – knockando

उत्तर

9

यदि आप नए माइक्रोसॉफ्ट डब्ल्यूपीएफ रिबन का उपयोग कर रहे हैं, तो रिबन कॉमांड प्रकार हटा दिया गया है। कमांड प्रॉपर्टी अब आईसीओएमएंड प्रकार है।

एक RibbonButton पर आदेश सेट करने के लिए, आप निम्न कर सकते हैं:

<ribbon:RibbonButton Command="ApplicationCommands.Copy" /> 

या किसी आदेश ICommand लागू करता है का उपयोग करें।

1

आपको परियोजना में स्वयं असेंबली का भी संदर्भ देना होगा।

+0

यह उल्लेख करना भूल गया कि मैं पहले से ही ऐसा कर रहा हूं। प्रोजेक्ट RibbonControlsLibrary (C: \ Program Files \ Microsoft Ribbon WPF \ V4.0 \ RibbonControlsLibrary.dll के लिए संदर्भित कर रहा है) का संदर्भ दे रहा है। – knockando

3

आप अपने स्वयं के आदेश को लागू करने के लिए आईसीओएमएंड का भी उपयोग कर सकते हैं।

यह कक्षा कोड में होनी चाहिए।

public class MyCommand : ICommand 
{ 
    public void Execute(object parameter) 
    { 
     string hello = parameter as string; 
     MessageBox.Show(hello, "World"); 
    } 

    public bool CanExecute(object parameter) 
    { 
     return true; 
    } 

    public event EventHandler CanExecuteChanged; 
} 

आपको इस आदेश का उपयोग करने के लिए संसाधन होना चाहिए।

<DockPanel.Resources> 
    <local:MyCommand x:Key="mycmd"/> 
</DockPanel.Resources> 

आपको इस आदेश को कॉल करने के लिए अपने xaml तत्व को संशोधित करने की भी आवश्यकता है।

<ribbon:RibbonButton Command="{StaticResource mycmd}" CommandParameter="Hello, command" Label="Copy" LargeImageSource="Images/LargeIcon.png"/>