के साथ EventToCommand का उपयोग करके, मैंने अपने दृश्य मॉडल में एक कॉम्बोबॉक्स के चयनित इटैम चेंजएवेंट को आईसीओएमएंड में जोड़ दिया है। सबकुछ ठीक काम करता प्रतीत होता है हालांकि मुझे नहीं पता कि कॉमबॉक्सबॉक्स के चयनित इटैम को कैसे प्राप्त किया जाए। मुझे लगता है कि मुझे EventToCommand के कमांड पैरामीटर का उपयोग करने की आवश्यकता है - क्या मैं इसे अपने व्यूमोडेल में कुछ से जोड़ता हूं जिसमें कॉम्बोबॉक्स का चयनित इटैम है? मैं इस की कोशिश की है:एमवीवीएम-लाइट सिल्वरलाइट, एक कॉम्बोबॉक्स
<ComboBox
Width="422"
Height="24"
DisplayMemberPath="Name"
ItemsSource="{Binding CategoryTypes}"
SelectedItem="{Binding SelectedCategory}"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<MvvmLight:EventToCommand
Command="{Binding SelectCategoryCommand,Mode=TwoWay}"
CommandParameter="{Binding SelectedCategory, Mode=TwoWay}"
MustToggleIsEnabledValue="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
और मेरे विचार मॉडल में:
public ICommand SelectCategoryCommand
{
get
{
return new SelectCategoryCommand(this);
}
}
public CategoryType SelectedCategory
{
get; set;
}
और ICommand
public class SelectCategoryCommand : ICommand
{
private RowViewModel _rowViewModel;
public SelectCategoryCommand(RowViewModel rowViewModel)
{
_rowViewModel = rowViewModel;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
CategoryType categoryType = (CategoryType) parameter;
}
}
हालांकि ICommand की विधि निष्पादित में पैरामीटर हमेशा रिक्त है। मैं सिल्वरलाइट के साथ काफी अनुभवहीन हूं इसलिए मुझे लगता है कि मैं वास्तव में कुछ स्पष्ट रूप से याद कर रहा हूं। क्या कोई मदद कर सकता है? अग्रिम में धन्यवाद!
आपको अपना जवाब विशेष रूप से चिह्नित करना चाहिए क्योंकि इससे आपकी समस्या हल हो गई है। – kevindaub
thanx एक बंडल आदमी, मेरा दिन बचाओ – zeeshan