Wpf 将Gridview添加到导致UI设计更改的静态模板

Wpf 将Gridview添加到导致UI设计更改的静态模板,wpf,xaml,gridview,windows-applications,Wpf,Xaml,Gridview,Windows Applications,我是xaml的新手。。刚开始学习 我使用网格设计了一个静态模板。我需要基于C中基于对象的网格重复# 因此,我包含了GridView和binding 在添加Gridview之前 将栅格视图添加到栅格后 我的XAML代码 <GridView ItemsSource="{Binding Source={StaticResource UpcomingEvent}}" ScrollViewer.HorizontalScrollBarVisibility="Hidden

我是xaml的新手。。刚开始学习

我使用网格设计了一个静态模板。我需要基于C中基于对象的网格重复#

因此,我包含了GridView和binding

在添加Gridview之前

将栅格视图添加到栅格后

我的XAML代码

<GridView ItemsSource="{Binding Source={StaticResource UpcomingEvent}}"
              ScrollViewer.HorizontalScrollBarVisibility="Hidden" Padding="0"
              Margin="0,0,0,0" Grid.Column="0" Height="auto">
                        <GridView.ItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <Grid Name="DataLabels">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="3*" />
                                            <ColumnDefinition Width="9*" />
                                            <ColumnDefinition Width="3*" />
                                        </Grid.ColumnDefinitions>
                                        <Border Grid.Column="0" Margin="7">
                                            <Border.Background>
                                                <LinearGradientBrush>
                                                    <GradientStop Color="#FFD3D3D3" Offset="0" />
                                                </LinearGradientBrush>
                                            </Border.Background>
                                        </Border>
                                        <Grid Margin="7">
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="3*"/>
                                                <RowDefinition Height="*"/>
                                                <RowDefinition Height="*"/>
                                            </Grid.RowDefinitions>
                                            <TextBlock FontSize="30"  Text="{Binding Date}"></TextBlock>
                                            <TextBlock Grid.Row="1"  Text="{Binding Month}"></TextBlock>
                                            <TextBlock Grid.Row="2"  Text="{Binding Year}"></TextBlock>
                                        </Grid>
                                        <Grid Grid.Column="1">
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="*" />
                                                <RowDefinition Height="*" />
                                            </Grid.RowDefinitions>
                                            <TextBlock Grid.Row="0" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Heading}"></TextBlock>
                                            <TextBlock Grid.Row="1" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Description}"></TextBlock>
                                        </Grid>
                                        <TextBlock Grid.Column="2" FontSize="15" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Time}"></TextBlock>
                                    </Grid>
                                    <Border Grid.Row="1" BorderBrush="#FFD3D3D3" BorderThickness="1" Margin="10,0,0,0"/>
                                </Grid>
                            </DataTemplate>
                        </GridView.ItemTemplate>
                    </GridView>

C#代码:

public List GetUpcomingEvent()
{
列表数据=新列表();
data.Add(new upcommitteent(){Date=“2”,Time=“00:45AM”,Description=“fds我的第一条动态消息1”,Heading=“Fist message”,Month=“Dec”,Year=“2015”});
data.Add(new upcommitteent(){Date=“3”,Time=“01:45AM”,Description=“rewd My first dynamic message 2”,Heading=“Second message”,Month=“Dec”,Year=“2015”});
data.Add(new upcommitteent(){Date=“4”,Time=“01:45AM”,Description=“fdf My first dynamic message 3”,Heading=“Second message”,Month=“Dec”,Year=“2015”});
data.Add(new upcommitteent(){Date=“5”,Time=“01:00PM”,Description=“vfc My first dynamic message 4”,Heading=“Second message”,Month=“Dec”,Year=“2015”});
data.Add(new upcommitteent(){Date=“6”,Time=“12:45PM”,Description=“kjh我的第一条动态消息5”,Heading=“第二条消息”,Month=“Dec”,Year=“2015”});
返回数据;
}
公共仪表板页()
{
this.InitializeComponent();
Source=GetUpcomingEvent();
}
是什么导致dunamic UI与静态UI不同?我应该如何修复它


谢谢

首先,您键入的是GridView而不是ListView。GridView中没有ItemTemplate

我对您的模板做了一些更改:

<ListView x:Name="LstView1">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid Name="DataLabels" Width="400">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="75" />
                        <ColumnDefinition Width="9*" />
                        <ColumnDefinition Width="4*" />
                    </Grid.ColumnDefinitions>
                    <Border Grid.Column="0" Margin="7">
                        <Border.Background>
                            <LinearGradientBrush>
                                <GradientStop Color="Red" Offset="0" />
                            </LinearGradientBrush>
                        </Border.Background>
                    </Border>
                    <Grid Margin="7" Background="Purple">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="3*"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                    <TextBlock FontSize="30"  HorizontalAlignment="Center" Text="{Binding Date}"></TextBlock>
                    <TextBlock Grid.Row="1"  HorizontalAlignment="Center" Text="{Binding Month}"></TextBlock>
                    <TextBlock Grid.Row="2"  HorizontalAlignment="Center" Text="{Binding Year}"></TextBlock>
                    </Grid>
                    <Grid Grid.Column="1">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <TextBlock Grid.Row="0" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Heading}"></TextBlock>
                        <TextBlock Grid.Row="1" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Description}"></TextBlock>
                    </Grid>
                    <TextBlock Background="Yellow" Grid.Column="2" FontSize="15" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Time}"></TextBlock>
                </Grid>
             </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>


检查模板并告诉它是否适合您的需要。

您在这里遗漏了一些内容。您的静态UI在中心显示日期部分。但是在您的XAML代码中,没有这样的属性集。您是指2015年12月9日吗。我已经添加了对象的起始日期(日期、月份和年份)。在带有动态数据的图像中,日期分别为2015年12月2日和2015年12月3日。2015年12月9日是如何出现在中心的?这是我做的静态用户界面。。我将其复制到列表视图中,Ui开始以这种方式显示。显示的消息不同
<ListView x:Name="LstView1">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid Name="DataLabels" Width="400">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="75" />
                        <ColumnDefinition Width="9*" />
                        <ColumnDefinition Width="4*" />
                    </Grid.ColumnDefinitions>
                    <Border Grid.Column="0" Margin="7">
                        <Border.Background>
                            <LinearGradientBrush>
                                <GradientStop Color="Red" Offset="0" />
                            </LinearGradientBrush>
                        </Border.Background>
                    </Border>
                    <Grid Margin="7" Background="Purple">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="3*"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                    <TextBlock FontSize="30"  HorizontalAlignment="Center" Text="{Binding Date}"></TextBlock>
                    <TextBlock Grid.Row="1"  HorizontalAlignment="Center" Text="{Binding Month}"></TextBlock>
                    <TextBlock Grid.Row="2"  HorizontalAlignment="Center" Text="{Binding Year}"></TextBlock>
                    </Grid>
                    <Grid Grid.Column="1">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <TextBlock Grid.Row="0" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Heading}"></TextBlock>
                        <TextBlock Grid.Row="1" FontSize="15" VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Path=Description}"></TextBlock>
                    </Grid>
                    <TextBlock Background="Yellow" Grid.Column="2" FontSize="15" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Time}"></TextBlock>
                </Grid>
             </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>