您的位置:首页 > 其它

DataTemplate中Binding Command

2011-11-29 13:42 357 查看
使用MVVM模式开发silverlight程序时,Command命令一般定义在VM中.

1. 使用DataContext代理类.

  public class DataContextProxy : DependencyObject
{
public static readonly DependencyProperty DataContextProperty =
DependencyProperty.Register(
"DataContext",
typeof(object),
typeof(DataContextProxy),
new PropertyMetadata(null));
public object DataContext
{
get { return GetValue(DataContextProperty); }
set { SetValue(DataContextProperty, value); }
}

}

2. XAML文件中定义静态资源.

 <Converter:DataContextProxy x:Key="dataContextProxy" DataContext="{Binding}"></Converter:DataContextProxy>

3. DataTemplate中定义的对象Binding的数据源

 <Button Template="{StaticResource deleteButtonStyle}"
Visibility="{Binding ElementName=LinkMainPage, Path=IsEdit,Converter={StaticResource linkDeleteVisibilityConverter}}"
DataContext="{Binding Source={StaticResource dataContextProxy}, Path=DataContext}"
Command="{Binding DeleteLinkCommand}" CommandParameter="{Binding ElementName= hlb,Path=Tag}">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: