Wpf DataGrid列绑定不同控件

前台界面,LstParamValues为空时显示Textbox,否则显示Combox
<DataGridTemplateColumn Header="属性值" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" ></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DockPanel >

<TextBox x:Name="txtDock" Text="{Binding Value}" MinWidth="500" >
<TextBox.Style>
<Style TargetType="TextBox" >

                          <Setter Property="Visibility" Value="Collapsed"></Setter>
                                             <Style.Triggers>
                                                    <DataTrigger Binding="{Binding LstParamValues}" Value="{x:Null}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<ComboBox x:Name="cbx" ItemsSource="{Binding LstParamValues}" SelectedItem="{Binding Value}" >
<ComboBox.Style>
<Style TargetType="ComboBox">
<Setter Property="Visibility" Value="Visible"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding LstParamValues}" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

posted @ 2020-12-11 11:54  海华风光  阅读(583)  评论(0)    收藏  举报