C#WPF-有一个容器列表,并希望更新每个容器的模板,以便其中的图像更改大小
我在更新“电影”对象列表的数据模板时遇到问题。具体来说,我在这些对象中有一个图像,它显示在循环列表中。中间的对象将有一个较大的图像,而远处的图像将变小 我正在使用C#和WPF 在我的窗口中。参考资料:C#WPF-有一个容器列表,并希望更新每个容器的模板,以便其中的图像更改大小,c#,wpf,xaml,C#,Wpf,Xaml,我在更新“电影”对象列表的数据模板时遇到问题。具体来说,我在这些对象中有一个图像,它显示在循环列表中。中间的对象将有一个较大的图像,而远处的图像将变小 我正在使用C#和WPF 在我的窗口中。参考资料: <DataTemplate DataType="{x:Type src:Movie}"> <StackPanel Orientation="Vertical" Margin="0" Background="Transparent" Width="Auto" Name="M
<DataTemplate DataType="{x:Type src:Movie}">
<StackPanel Orientation="Vertical" Margin="0" Background="Transparent" Width="Auto" Name="MovieDataStack">
<Image Name="MovieImage" Margin="10,0,10,0" Source="{Binding ImagePath}" Width="{Binding Size}" Height="Auto" VerticalAlignment="Center" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
我的Movie类包含一个名为Size的变量,该变量可以更改,但每当我更新该变量时,模板都不会更新
我在程序开始时(在App.xaml.cs中)创建一个电影列表,并在另一个xaml(TicketScreen.xaml)文件中使用该列表:
如何更新循环列表中每个孩子的图像?我觉得DataTemplate用于所有电影,所以我不能为每部电影指定不同的大小
非常感谢您的帮助^^这是MVVM吗
您应该有一个名为Movie的数据集合
一个叫做电影的电影集
搜索您的电影集并更改与项目编号对应的属性
int TempIndex;
TempIndex = Movies.Count / 2;
TempMovie = Movies[TempIndex];
TempMovie.Width = 155;
TempMovie.Height = 155;
也许有更好的方法,但我过去就是这样做的。语法可能也不完美您的电影对象是否实现INotifyPropertyChanged?您必须通知视图size属性已更改。
int TempIndex;
TempIndex = Movies.Count / 2;
TempMovie = Movies[TempIndex];
TempMovie.Width = 155;
TempMovie.Height = 155;