每天进步一点点-WPF-根据数据类型加载控件

目的,根据数据类型的不同,动态的加载适用于不同数据类型的控件(布局)
原理:为自定义的数据类型添加数据魔板,绑定的时候绑定这些数据类型的实例。

例子:
数据类型:

数据模板:

<DataTemplate DataType="{x:Type scparam:ScriptStringParam}">
        <ContentControl Height="{Binding ItemHeight}">
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="0.5*"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <TextBlock Text="{Binding Description}" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5,0"></TextBlock>
                <TextBox Grid.Column="1"  Text="{Binding Value}" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="5,0"></TextBox>
            </Grid>
        </ContentControl>
    </DataTemplate>
  <DataTemplate DataType="{x:Type scparam:ScriptDoubleParam}">
​	.....
</DataTemplate>

Xmal调用集合作为数据源:

后台定义的数据源:

 public List<ScriptParam> ScriptParams
        {
            get { return _ScriptParams; }
            set { _ScriptParams = value; OnPropertyChanged("ScriptParams"); }
        }


使用效果:后续补充

原文地址:https://www.cnblogs.com/swobble/p/11608398.html