我试图在启动时突出显示(通过更改背景)SelectedItem
集合。
我有一个数据模板来定义项目。我可以使用边框来设置背景。在选择项目时完成突出显示的那一刻。
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType=syncfusion:CarouselItem}}" Value="True">
<Setter TargetName="border" Property="Background" Value="Red"/>
</DataTrigger>
</DataTemplate.Triggers>
但是因为在启动时SelectedItem
已经处于活动状态,所以似乎也可以突出显示逻辑。
答案 0 :(得分:1)
您是否尝试过只选择集合中的项目以确保选择了一个项目?您可以声明填充集合的项类型的属性,以将数据绑定到ItemsControl.SelectedItem
属性。然后在您的代码或视图模型中,您可以执行此操作(假设您的集合控件是绑定到名为Items
的数据集合的数据:
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem}" ... />
...
Items = FillCollectionWithItems();
if (Items.Count > 0) SelectedItem = Items[0];
答案 1 :(得分:0)
我的第一个想法是项目被选中,但没有聚焦,选择但不聚焦的系统颜色通常是非常浅灰色,很难看到。
如果是这种情况,您可以尝试确保该项目具有Focus on load,或者覆盖控件的system colors。
这是一个覆盖控件的InactiveSelectionHighlightBrush
颜色的示例:
<SomeControl.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrush}" Color="Red"/>
</SomeControl.Resources>