Silverlight 如何切换图像';s在列表框中的可见性';基于SelectedItem的ItemTemplate
我在列表框的ItemTemplate中有一个图像。XAML中是否有方法根据列表框“SelectedItem”切换其可见性 换句话说,我希望图像仅在选中ListBoxItem时可见,但希望避免代码隐藏Silverlight 如何切换图像';s在列表框中的可见性';基于SelectedItem的ItemTemplate,silverlight,windows-phone-7,Silverlight,Windows Phone 7,我在列表框的ItemTemplate中有一个图像。XAML中是否有方法根据列表框“SelectedItem”切换其可见性 换句话说,我希望图像仅在选中ListBoxItem时可见,但希望避免代码隐藏 谢谢。编辑列表框的ItemContainerStyle,然后您就可以访问列表框项目的所有状态。这些包括聚焦和选定的状态。如果您在Blend中执行此操作,它应该位于列表框上下文菜单上的“编辑其他模板”下 然后您应该能够更改所选状态的布局,这应该是您所需要的?编辑列表框的ItemContainerSty
谢谢。编辑列表框的ItemContainerStyle,然后您就可以访问列表框项目的所有状态。这些包括聚焦和选定的状态。如果您在Blend中执行此操作,它应该位于列表框上下文菜单上的“编辑其他模板”下
然后您应该能够更改所选状态的布局,这应该是您所需要的?编辑列表框的ItemContainerStyle,然后您就可以访问列表框项目的所有状态。这些包括聚焦和选定的状态。如果您在Blend中执行此操作,它应该位于列表框上下文菜单上的“编辑其他模板”下
然后,您应该能够更改所选状态的布局,这应该是您需要的?在列表框的ItemContainerStyle中(在Blend中,右键单击对象和时间线中的列表框,然后选择编辑其他模板/编辑生成的项目容器(ItemContainerStyle)/编辑副本…在“使用”对话框中选择新样式的名称和位置。) 在生成的样式中,找到ContentPresenter标记。在该区域的某个地方(取决于您的特定布局需要),您将希望删除图像项。将其可见性设置为绑定到模板化父级的IsSelected属性
<Image Source="{Binding Property2}" Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsSelected, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
在列表框的ItemContainerStyle中(在“混合”中,右键单击“对象和时间线”中的列表框,然后选择“编辑其他模板/编辑生成的项目容器(ItemContainerStyle)/编辑副本…”在“使用”对话框中为新样式选择名称和位置。) 在生成的样式中,找到ContentPresenter标记。在该区域的某个地方(取决于您的特定布局需要),您将希望删除图像项。将其可见性设置为绑定到模板化父级的IsSelected属性
<Image Source="{Binding Property2}" Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsSelected, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
您可以通过ListBox的SelectionChanged事件来实现这一点
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer Height="500" Width="200">
<ListBox x:Name="lstItems" SelectionChanged="lstItems_SelectionChanged">
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="Selected.png" Visibility="Collapsed"/>
<TextBlock Text="Item 1"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="Selected.png" Visibility="Collapsed"/>
<TextBlock Text="Item 2"/>
</StackPanel>
</ListBoxItem>
</ListBox>
</ScrollViewer>
</Grid>
您可以通过ListBox的SelectionChanged事件来实现这一点
<Grid x:Name="LayoutRoot" Background="White">
<ScrollViewer Height="500" Width="200">
<ListBox x:Name="lstItems" SelectionChanged="lstItems_SelectionChanged">
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="Selected.png" Visibility="Collapsed"/>
<TextBlock Text="Item 1"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem>
<StackPanel Orientation="Horizontal">
<Image Source="Selected.png" Visibility="Collapsed"/>
<TextBlock Text="Item 2"/>
</StackPanel>
</ListBoxItem>
</ListBox>
</ScrollViewer>
</Grid>