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}">
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}">
相关文章推荐
- silverlight wpf DataTemplate Command binding
- command for ContextMenu in DataTemplate
- HierarchicalDataTemplate中的ContextMenu的Command绑定
- [WPF] DataTemplate Binding to Interface
- [WP8] Binding时,依照DataType来选择DataTemplate
- [WP8] Binding时,依照DataType选择DataTemplate
- Silverlight.解决DataTemplate中绑定的Command无法触发的问题
- DisplayMemberPath 与 DataTemplate - WPF data binding 1
- MVVM datatemplate 下button.contextmenu的command 失效解决方案
- A template class for binding C++ to Lua
- asp.net 异常:"DataBinding: 'System.Data.DataRowView'
- DataBinding快速入门(还在用findViewById?)
- [导入]Swing Application Framework + Swing Databinding 在NetBeans 6.0的Flash Demo
- Jackson应用一 Simple data binding
- 初学 android databinding
- HierarchicalDataTemplate层次模板绑定XML数据源到Menu和TreeView
- WPF:使用CommandManager.RegisterClassCommandBinding和RegisterClassInputBinding方法
- 获取 DataTemplate 所对应的数据项
- Flex Data Binding详解
- WPF : 如何使用DataTemplateSelector