从用户控件调用viewModel函数
本文关键字:viewModel 函数 调用 控件 用户 | 更新日期: 2023-09-27 18:10:44
我有View1
, ViewModel1
(这是View1
的数据源)和UserControl
(TextBlockComboBoxUC
)。View1
在XAML中包含TextBlockComboBoxUC
,如下:
<vwKomp:TextBlockComboBoxUC
ComboBoxItemSource="{Binding Path=ZoznamStatov, Mode=OneWay}"
ComboBoxSelectedValue="{Binding Path=TrvalaAdresa.Stat, Mode=TwoWay}">
</vwKomp:TextBlockComboBoxUC>
TextBlockComboBoxUC
包含TextBlock
和ComboBox
。
当ComboBox
的SelectionChanged
事件被引发时,我如何从ViewModel1
调用该方法?
我想以某种方式通过委托,但我没有UserControl
在ViewModel1
的信息。
如果您不介意使用MVVM Light库,我认为您可以为该事件设置一个触发器来调用命令:
<vwKomp:TextBlockComboBoxUC
ComboBoxItemSource="{Binding Path=ZoznamStatov, Mode=OneWay}"
ComboBoxSelectedValue="{Binding Path=TrvalaAdresa.Stat, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged" >
<cmd:EventToCommand
Command="{Binding YourSelectionChangedCommandHandler}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</vwKomp:TextBlockComboBoxUC>
地点:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
来源:http://www.danharman.net/2011/08/05/binding-wpf-events-to-mvvm-viewmodel-commands/