美文网首页
WPF DataGrid 使用数据模板(2)

WPF DataGrid 使用数据模板(2)

作者: Ritchie_Li | 来源:发表于2022-08-10 20:26 被阅读0次

    效果如下:

    1. UI XAML设计

    <DataGrid x:Name="gdTestPoints" AutoGenerateColumns="False" Margin="5">

                <DataGrid.Columns>

                    <DataGridTextColumn Header="TestPointName" Binding="{Binding TestPointName}" Width="120"/>

                    <DataGridTextColumn Header="TestStartDate" Binding="{Binding TestDate}" Width="200"/>

                </DataGrid.Columns>

                <DataGrid.RowDetailsTemplate>

                    <DataTemplate>

                        <DockPanel Background="GhostWhite">

                            <Image DockPanel.Dock="Left" Source="{Binding ImageUrl}" Height="24" Margin="10"/>

                            <Grid Margin="0 10">

                                <Grid.ColumnDefinitions>

                                    <ColumnDefinition Width="Auto"/>

                                    <ColumnDefinition Width="*"/>

                                </Grid.ColumnDefinitions>

                                <Grid.RowDefinitions>

                                    <RowDefinition Height="Auto"/>

                                    <RowDefinition Height="Auto"/>

                                    <RowDefinition Height="Auto"/>

                                </Grid.RowDefinitions>

                                <TextBlock Text="ID:" FontWeight="Bold"/>

                                <TextBlock Text="{Binding Id}" Grid.Column="1"/>

                                <TextBlock Text="TestPointName:" FontWeight="Bold" Grid.Row="1"/>

                                <TextBlock Text="{Binding TestPointName}" Grid.Column="1" Grid.Row="1"/>

                                <TextBlock Text="TestStartDate:" FontWeight="Bold" Grid.Row="2"/>

                                <TextBlock Text="{Binding TestDate}" Grid.Column="1" Grid.Row="2"/>

                            </Grid>

                        </DockPanel>

                    </DataTemplate>

                </DataGrid.RowDetailsTemplate>

            </DataGrid>

    2. UI 后台代码

      /// <summary>

        /// MainWindow.xaml 的交互逻辑

        /// </summary>

        public partial class MainWindow : Window

        {

            public class TestPoint

            {

                public int Id { get; set; }

                public string TestPointName { get; set; }

                public DateTime TestDate { get; set; }

                public string ImageUrl { get; set; }

            }

            public MainWindow()

            {

                InitializeComponent();

                List<TestPoint> points = new List<TestPoint>();

                //ImageUrl = "http://www.wpf-tutorial.com/images/misc/john_doe.jpg"

                points.Add(new TestPoint() { Id = 1, TestPointName = "LCD Test", TestDate = new DateTime(2022, 7, 23), ImageUrl = "yes.png" });

                points.Add(new TestPoint() { Id = 2, TestPointName = "Temperateure Test", TestDate = new DateTime(2022, 1, 17) });

                points.Add(new TestPoint() { Id = 3, TestPointName = "Voltage Test", TestDate = new DateTime(2022, 9, 2), ImageUrl = "No.png" });

                gdTestPoints.ItemsSource = points ;

            }

        }

    相关文章

      网友评论

          本文标题:WPF DataGrid 使用数据模板(2)

          本文链接:https://www.haomeiwen.com/subject/aqbawrtx.html