如何在WPF中的项模板中获取集合的Binding元素
本文关键字:获取 集合 元素 Binding WPF | 更新日期: 2023-09-27 18:28:36
我有一个自定义控件RadCoverFlow,它将一个Image集合作为itemsSource。
<StackPanel Orientation="Vertical" Background="Black">
<telerik:RadCoverFlow x:Name="coverFlow"
ItemsSource="{Binding ViewImages, Mode=OneWay}"
ItemTemplate="{StaticResource ImageTemplate}"
</telerik:RadCoverFlow>
</StackPanel>
我想使用数据模板定义图像的宽度、高度和其他一些属性。我的问题是,在数据模板中,我需要为每个图像指定一个源,但该源已经在代码中指定了。
<DataTemplate x:Key="ImageTemplate">
<Image Source="" Width="100" Height="100" Stretch="Uniform" telerik:RadCoverFlow.EnableLoadNotification="True" />
</DataTemplate>
我怎么能不重新指定源,或者像{Binding-ViewImages[I]}那样将源绑定到源,在这种情况下我会是什么?
谢谢
理想情况下,业务对象和UI应该完全分离,因此ItemsSource
不应该有Image
UI对象
但也就是说,尝试使用隐式样式来设置属性
<telerik:RadCoverFlow.Resources>
<Style TargetType="{x:Type Image}">
<Setter Property="Height" Value="100" />
<Setter Property="Width" Value="100" />
<Setter Property="Stretch" Value="Uniform" />
<Setter Property="telerik:RadCoverFlow.EnableLoadNotification" Value="True" />
</Style>
</telerik:RadCoverFlow.Resources>