<UserControl x:Class="CMSv3.CtlProject" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:igDP="clr-namespace:Infragistics.Windows.DataPresenter;assembly=InfragisticsWPF3.DataPresenter.v10.3" xmlns:igEditors="clr-namespace:Infragistics.Windows.Editors;assembly=InfragisticsWPF3.Editors.v10.3" mc:Ignorable="d" d:DesignWidth="940" Height="800"> <UserControl.Resources> <Style x:Key="ProjectDetailsTemplate" TargetType="{x:Type igDP:CellValuePresenter}"> <Setter Property="HorizontalContentAlignment" Value="Center" /> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}"> <Border Background="Transparent" BorderBrush="#D0D7E5" BorderThickness="0.5,0,0.5,0"> <Grid Width="800" Height="400"> <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="200"></RowDefinition> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="50"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="100"></ColumnDefinition> <ColumnDefinition Width="200"></ColumnDefinition> <ColumnDefinition Width="100"></ColumnDefinition> <ColumnDefinition Width="200"></ColumnDefinition> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Name="lblTeamName" Text="Team Name"></TextBlock> <igEditors:XamTextEditor Grid.Row="0" Grid.Column="1" Height="25" VerticalAlignment="Center" Grid.ColumnSpan="3" IsReadOnly="True" Name="txtTeamName" Text="{Binding Path=DataItem.TeamName}"></igEditors:XamTextEditor> <TextBlock Grid.Row="1" Grid.Column="0" Name="lblWorkUnit" Text="WorkUnit"></TextBlock> <ListBox Grid.Row="1" Grid.Column="1" Name="lstWorkUnit" SelectionMode="Multiple" ItemsSource="{Binding Path=DataItem.WorkUnits, Mode=TwoWay}" SelectedValuePath="ID" DisplayMemberPath="Name" /> <StackPanel Grid.Row="1" Grid.Column="2"> <Button Name="btnRemoveUnit" Click="btnRemoveUnit_Click"><<</Button> <Button Name="btnAddUnit" Click="btnAddUnit_Click">>></Button> </StackPanel> <ListBox Grid.Row="1" Grid.Column="3" Name="lstSelectedUnit" SelectionMode="Multiple" ItemsSource="{Binding Path=DataItem.SelectedWorkUnits,UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="ID" DisplayMemberPath="Name" /> <TextBlock Grid.Row="2" Grid.Column="0" Name="lblProjectName" VerticalAlignment="Center" Grid.ColumnSpan="3" Text="Project Name"></TextBlock> <igEditors:XamTextEditor Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Height="25" VerticalAlignment="Center" Name="txtName" Text="{Binding Path=DataItem.ProjectName,UpdateSourceTrigger=PropertyChanged}"></igEditors:XamTextEditor> <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Height="25" Name="lblSeqNo" Text="Sequence No."></TextBlock> <igEditors:XamNumericEditor HorizontalAlignment="Left" Width="100" Height="25" Grid.Row="3" Grid.Column="1" Name="txtSeqNo" Text="{Binding Path=DataItem.SeqNo, UpdateSourceTrigger=PropertyChanged}" /> <Button Grid.Row="4" Grid.Column="3" Height="25" Name="btnUpdate" Click="btnUpdate_Click">Update</Button> </Grid> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </UserControl.Resources> <Grid> <igDP:XamDataGrid Name="igList" Margin="0,10,0,0" GroupByAreaLocation="None" Theme="Office2010Blue" AutoFit="True" Grid.Row="0" Grid.Column="0" Width="940" VerticalAlignment="Top" HorizontalAlignment="Center"> <igDP:XamDataGrid.Resources> <Style TargetType="{x:Type igDP:DataRecordPresenter}"> <Setter Property="Background" Value="{Binding Path=DataItem.Background}"/> <Setter Property="HeaderAreaBackground" Value="#F5F5F5"/> </Style> <Style x:Key="HeaderStyle" TargetType="{x:Type igDP:LabelPresenter}" > <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="InnerBorderBrush" Value="Transparent"/> <Setter Property="OuterBorderBrush" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="Height" Value="30"/> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type igDP:LabelPresenter}"> <ContentPresenter Content="{TemplateBinding Content}" Cursor="Hand" VerticalAlignment="Center" /> </ControlTemplate> </Setter.Value> </Setter> </Style> </igDP:XamDataGrid.Resources> <igDP:XamDataGrid.FieldSettings> <igDP:FieldSettings AllowGroupBy="False" LabelPresenterStyle="{StaticResource HeaderStyle}" CellClickAction="SelectRecord" CellContentAlignment="LabelBelowValueAlignCenter" AllowEdit="False" AllowResize="False" ></igDP:FieldSettings> </igDP:XamDataGrid.FieldSettings> <igDP:XamDataGrid.FieldLayoutSettings> <igDP:FieldLayoutSettings AutoFitMode="ExtendLastField" SelectionTypeRecord="Single" AutoGenerateFields="False" AutoArrangeCells="Never" /> </igDP:XamDataGrid.FieldLayoutSettings> <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> <igDP:Field Width="940" Name="ProjectID" Label="" Column="0"> <igDP:Field.Settings> <igDP:FieldSettings CellValuePresenterStyle="{StaticResource ProjectDetailsTemplate}" /> </igDP:Field.Settings> </igDP:Field> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> </igDP:XamDataGrid> </Grid> </UserControl> 看了文档, google了半天, 才搞明白的~ 留个记号~