Wpf 将Gridview添加到导致UI设计更改的静态模板
我是xaml的新手。。刚开始学习 我使用网格设计了一个静态模板。我需要基于C中基于对象的网格重复# 因此,我包含了GridView和binding 在添加Gridview之前 将栅格视图添加到栅格后 我的XAML代码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
<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>