1
好吧,所以我的问题是,我正在生成一些元素,因为链接到数组(对于数组上的每个元素,在XAML中有另一个项目)。我正在用TreeView控件做这个,albiet遵循一个在线示例(到目前为止效果很好)。动态元素的XAML图像加载
在这个例子中,这些组是家庭,并在每个...在图像中显示更容易here。 Family是一个包含FamilyMembers的ObservableCollection的类,它们都用于填充TreeView。
这里的主要业务有:
<TreeView Name="trvFamilies">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type self:Family}" ItemsSource="{Binding Members}">
<StackPanel Orientation="Horizontal">
<Image Source="{StaticResource ImageGroup}" Margin="0,0,5,0" />
<TextBlock Text="{Binding Name}" />
<TextBlock Text=" [" Foreground="Blue" />
<TextBlock Text="{Binding Members.Count}" Foreground="Blue" />
<TextBlock Text="]" Foreground="Blue" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type self:FamilyMember}">
<StackPanel Orientation="Horizontal">
<Image Source="{StaticResource ImageUserMale}" Margin="0,0,5,0" />
<TextBlock Text="{Binding Name}" />
<TextBlock Text=" (" Foreground="Green" />
<TextBlock Text="{Binding Age}" Foreground="Green" />
<TextBlock Text=" years)" Foreground="Green" />
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>
这一切工作正常,但这里是我的问题:我有,如果一个家庭成员是男性和女性之一,如果家庭成员是女性男性形象。我不知道如何根据这个标准来设置图像。正如您所看到的,此刻图像是静态的。
谢谢!
那么,这将做到这一点。谢谢你的帮助! – TheFaithfulLearner
不客气。请注意,这种方法有两种常见的替代方法。首先,您可以直接将Image控件的Source属性绑定到FamilyMember类中的'ImageSource'类型的'GenderImage'属性。其次,您可以使用绑定转换器绑定到“性别”属性,该转换器将Gender枚举转换为ImageSource。 – Clemens