我有一个自定义控件RadCoverFlow,它将Image的集合作为itemsSource。
<StackPanel Orientation="Vertical" Background="Black">
<telerik:RadCoverFlow x:Name="coverFlow"
ItemsSource="{Binding ViewImages, Mode=OneWay}"
ItemTemplate="{StaticResource ImageTemplate}"
</telerik:RadCoverFlow>
</StackPanel>
我想使用数据模板定义图像的widh,高度和其他几个属性。我的问题是在数据模板中,我需要为每个图像指定一个源,但是该源已经在代码中指定。
<DataTemplate x:Key="ImageTemplate">
<Image Source="" Width="100" Height="100" Stretch="Uniform" telerik:RadCoverFlow.EnableLoadNotification="True" />
</DataTemplate>
我怎样才能重新指定Source,或者像{Binding ViewImages [i]}那样将源绑定到Source,在这种情况下我会是什么?
谢谢
答案 0 :(得分:1)
理想情况下,您的业务对象和用户界面应完全分开,因此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>