Ste*_*Pet 4 silverlight-4.0 windows-phone-7
我正在寻找以下情况的解决方案.
在我的应用程序中,我有一个页面说page1,我在page1中放置了一个用户控件.我的要求是我需要在page1的代码后面的用户控件中使用按钮的click事件.我怎样才能在windows phone/silverlight中实现同样的目标.
Sta*_*sha 14
(如果你知道MVVM模式)将控制,比如MyControl,暴露类型的DependencyProperty ICommand,名为MyControlButtonClickCommand.
XAML:
<UserControl>
<Button Command={Binding MyControlButtonClickCommand, Source={RelativeSource Self}} />
</UserControl>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
public ICommand MyControlButtonClickCommand
{
get { return (ICommand)GetValue(MyControlButtonClickCommandProperty); }
set { SetValue(MyControlButtonClickCommandProperty, value); }
}
public static readonly DependencyProperty MyControlButtonClickCommandProperty =
DependencyProperty.Register("MyControlButtonClickCommand", typeof(ICommand), typeof(MyControl), new PropertyMetadata(null));
Run Code Online (Sandbox Code Playgroud)
您将使用UserControl,如下所示:
<phone:PhoneApplicationPage>
<namespace:MyControl MyControlButtonClickCommand="{Binding ControlButtonCommand}" />
</phone:PhoneApplicationPage>
Run Code Online (Sandbox Code Playgroud)
ControlButtonCommandViewModel(您的自定义对象)的属性在哪里,生活在您的DataContext中Page.
就像你公开MyControlButtonClickCommand依赖属性而不是公开它一样,你可以公开一个事件MyControlButtonClick并在页面的xaml中订阅它.在UserControl的代码内部,您应该订阅它的按钮Click事件并激活它自己的MyControlButtonClick事件.
希望这会帮助你.
| 归档时间: |
|
| 查看次数: |
2374 次 |
| 最近记录: |