Wpf Caliburn微处理代码隐藏中的消息
使用Caliburn Micro MVVM,我试图从代码隐藏控制Wpf Caliburn微处理代码隐藏中的消息,wpf,event-handling,caliburn.micro,Wpf,Event Handling,Caliburn.micro,使用Caliburn Micro MVVM,我试图从代码隐藏控制ScrollViewer。我有一个在viewmodel中处理的按钮单击。我还需要调用ScrollViewer上的方法,我认为这只能从view.xaml.cs代码隐藏文件中完成。 我试过两种方法。 1) 事件处理程序 2) 卡利本微手柄 这两种方法似乎都不符合代码隐藏文件 下面是选项2的代码 视图模型: _eventAggregator.PublishOnUIThread(new MyClickMessage(this)); 代码隐
ScrollViewer
。我有一个在viewmodel中处理的按钮单击。我还需要调用ScrollViewer上的方法,我认为这只能从view.xaml.cs代码隐藏文件中完成。我试过两种方法。 1) 事件处理程序 2) 卡利本微手柄 这两种方法似乎都不符合代码隐藏文件 下面是选项2的代码 视图模型:
_eventAggregator.PublishOnUIThread(new MyClickMessage(this));
代码隐藏(view.xaml.cs)文件:
公共部分类MyClass:UserControl,IHandle
{
公共MyClass()
{
初始化组件();
}
公共无效句柄(MyClickMessage消息)
{
这里不打球
}
}
非常感谢您的任何建议。如果您确实在视图中订阅了,它应该会起作用。试试这个:
public partial class MyClass : UserControl, IHandle<MyClickMessage>
{
public MyClass()
{
InitializeComponent();
IEventAggregator eventAggregator = IoC.Get<IEventAggregator>();
eventAggregator.Subscribe(this);
}
public void Handle(MyClickMessage message)
{
//...
}
}
公共部分类MyClass:UserControl,IHandle
{
公共MyClass()
{
初始化组件();
IEventAggregator eventAggregator=IoC.Get();
eventAggregator.Subscribe(此);
}
公共无效句柄(MyClickMessage消息)
{
//...
}
}
这对我来说很好
public partial class MyClass : UserControl, IHandle<MyClickMessage>
{
public MyClass()
{
InitializeComponent();
IEventAggregator eventAggregator = IoC.Get<IEventAggregator>();
eventAggregator.Subscribe(this);
}
public void Handle(MyClickMessage message)
{
//...
}
}