【发布时间】:2011-04-16 21:07:33
【问题描述】:
我创建了一个 Silverlight 用户控件。标记是:
<StackPanel Grid.Row="4" Grid.Column="0" Orientation="Horizontal" Width="Auto" Margin="5">
<Button Content="OK" Margin="0,0,5,5" MinWidth="50" Command="{Binding OKCommand}" />
</StackPanel>
后面的代码将依赖属性“OKCommand”声明为:
public ICommand OKCommand
{
get
{
return (ICommand)GetValue(OKCommandProperty);
}
set
{
SetValue(OKCommandProperty, value);
}
}
public static readonly DependencyProperty OKCommandProperty
= DependencyProperty.Register("OKCommand", typeof(ICommand), typeof(TestUserControl), new PropertyMetadata(null, OKCommandProperty_PropertyChangedCallback));
private static void OKCommandProperty_PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
现在我想在另一个页面上使用用户控件,其中 View 和 ViewModel 定义了我希望 OKCommand 绑定到的命令。 XAML 标记是这样的:
<local:TestControl OKCommand="{Binding Path=TestControlOk}"/>
但是,当我单击按钮时,它不会执行任何操作。关于我在这里做错的任何线索。
【问题讨论】:
-
您是否在命令代码中设置了断点以查看代码执行是否成功?
标签: silverlight data-binding mvvm silverlight-4.0