<Page x:Class="-----"
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:local="clr-namespace:InterfaceSimulator.Pages.His"
xmlns:localVM="clr-namespace:InterfaceSimulator.ViewModel"
xmlns:hc="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="PageHisRegRecordMain">
<Page.DataContext>
<localVM:ViewModelRegRecord/>
</Page.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60" />
<RowDefinition Height="160" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--查询区域-->
<StackPanel Grid.Row="0" Grid.Column="0" VerticalAlignment="Center">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txt_patientid"
Grid.Row="0" Grid.Column="0"
Text="{Binding Data.PatientID, Mode=TwoWay}"
Style="{StaticResource TextBoxExtend}"
hc:InfoElement.TitleWidth="80"
hc:InfoElement.TitlePlacement="Left"
hc:InfoElement.Title="患者编号"
hc:InfoElement.Necessary="True"
hc:InfoElement.Placeholder="请输入患者编号"
Width="200"
VerticalAlignment="Center"
HorizontalAlignment="Left"
></TextBox>
<Button Grid.Row="1" Grid.Column="2" Content="查询"
Command="{Binding QueryCommand}"
Style="{StaticResource ButtonPrimary}" ></Button>
</Grid>
</StackPanel>
<!--SelectedItem="{Binding Path=Data,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"-->
<!--主表-->
<DataGrid x:Name="MasterGrid" Grid.Row="1" Grid.Column="1"
ItemsSource="{Binding Path = DataList}"
AutoGenerateColumns="True"
HeadersVisibility="All" RowHeaderWidth="60"
SelectionMode="Single"
SelectionUnit="FullRow"
>
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<DataGridTemplateColumn Width="Auto">
</DataGridTemplateColumn>
</DataGrid.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction
Command="{Binding OperationCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName= MasterGrid }"
/>
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGrid>
<!--子表-->
<DataGrid x:Name="DetailGrid" Grid.Row="2" Grid.Column="1"
ItemsSource="{Binding Path = DetailDataList}"
AutoGenerateColumns="True"
HeadersVisibility="All" RowHeaderWidth="60"
SelectionMode="Single"
SelectionUnit="FullRow"
>
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<DataGridTemplateColumn Width="Auto">
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Page>
---------------------------------------------
private RelayCommand<object> operationCommand;
public RelayCommand<object> OperationCommand
{
get
{
if (operationCommand == null)
{
operationCommand = new RelayCommand<object>(new System.Action<object>(OperationData));
}
return operationCommand;
}
set
{
updateCommand = value;
}
}
public override void OperationData(object param)
{
if (param != null)
{
var regFlow = (param as HisRegRecorder).RegFlow;
this.DetailDataList = dal.Query<HisRegTradeRecorder>().Where(t => t.RegFlow == regFlow).ToList();
}
}