silverlight wpf DataTemplate Command binding


<Grid x:Name="LayoutRoot" Background="White">
        <CommonControl:NoapDataGrid MinHeight="120" Margin="10,0,10,10" HorizontalAlignment="Stretch" AutoGenerateColumns="False" ItemsSource="{Binding FtpFiles}" >
            <CommonControl:NoapDataGrid.Columns>
                <c1:DataGridTextColumn Header="文件名称" Binding="{Binding FileName}"  />
                <c1:DataGridTextColumn Header="文件类型" Binding="{Binding FileType}"  />
                <c1:DataGridTemplateColumn Header="操作">
                    <c1:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <HyperlinkButton  Content="下载" Command="{Binding DataContext.DownloadFtpFileCommand, RelativeSource={RelativeSource AncestorLevel=2,AncestorType=Grid}}"/>
                        </DataTemplate>
                    </c1:DataGridTemplateColumn.CellTemplate>
                </c1:DataGridTemplateColumn>
            </CommonControl:NoapDataGrid.Columns>
        </CommonControl:NoapDataGrid>
    </Grid>

或者

 <c1:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <HyperlinkButton  Content="下载" Command="{Binding DataContext.DownloadFtpFileCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}"/>
                        </DataTemplate>
                    </c1:DataGridTemplateColumn.CellTemplate>
时间: 2024-10-12 18:07:11

silverlight wpf DataTemplate Command binding的相关文章

WPF MVVM,Prism,Command Binding

1.添加引用Microsoft.Practices.Prism.Mvvm.dll,Microsoft.Practices.Prism.SharedInterfaces.dll: 2.新建文件夹,View,ViewModel,View中添加新项FirstView.XAML(Window页面),在ViewModel中添加新项FirstViewModel.CS(类): 3.在FirstView.xaml.cs的构造函数中添加  DataContext=new FirstViewModel(); 4.在

WPF Command Binding

<Window x:Class="WpfTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008

(WPF, MVVM) Slider Binding.

对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性. 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Event进行绑定,如何进行呢? (对于UIElement的一些Event进行绑定一定有一些通用的方法,目前还没有深入研究.) 首先,Slider Value的绑定是很简单的, 绑定Slider的Value属性即可. (1)ViewModel public class SliderViewModel : V

WPF 绑定Command

WPF中,我们使用MVVM,在ViewModel中定义Command和其业务逻辑,界面绑定Command. 那么是不是所有的事件都可以定义Command呢,然后将业务全部放在ViewModel中呢? 界面CommandBindings 如果只是交互的处理,可以直接定义RoutedCommand即可 1. 定义Command 1 <RoutedCommand x:Key="SelectAllCommand"/> 2. 添加命令委托处理 1 <UserControl.Co

(WPF) MVVM: DataGrid Binding

Binding到DataGrid的时候,需要用到ObservableCollection. public ObservableCollection<Customer> Customers { get { return this.customers; } set { this.customers = value; base.OnPropertyChanged("Customers"); } } (WPF) MVVM: DataGrid Binding,布布扣,bubuko.c

(WPF) MVVM: ComboBox Binding

基本思路还是在View的Xmal里面绑定ViewModel的属性,虽然在View的后台代码中也可以实现binding,但是还是在Xmal里面相对的代码量要少一些. 此例子要实现的效果就是将一个List<Customer> 绑定到一个ComboBox,并将选择后的Customer的Age显示在一个TextBlock中. 1. Model public class Customer { public string Name { get; set; } public int Age { get; s

【转】WPF中的Binding技巧(二)

WPF中的Binding技巧(二)   接上篇, 我们来看一看Elementname,Source,RelativeSource 三种绑定的方式 1.ElementName顾名思义就是根据Ui元素的Name来进行绑定: 例子: <Window x:Name="MainWindow"> <Grid>               <Button Background="{Binding ElementName=MainWindow, Path=Bac

TreeView 中 MVVM Command Binding

<HierarchicalDataTemplate x:Key="TreeNodes" ItemsSource="{Binding Path=Childs,Mode=OneWay}" > <StackPanel Orientation="Horizontal" Height="24" DataContext="{Binding}"> <TextBlock Text="

WPF学习之Binding(二)

前言: (一)里面简单学习了Binding的基础.源.路径.如何控制Binding的方向及数据更新.使用DataContext作为Binding的源等 使用集合对象作为列表控件的ItemSource WPF列表式控件派生自ItemControl类,自然继承了ItemSource这个属性. 例如:ListBox条目容器ListBoxItem,ComboBox条目容器ComboBoxItem. ItemSource里存着一条条数据,想要显示出来必须借助条目容器.Binging就是用来联系条目容器和数