【发布时间】:2019-05-24 20:10:29
【问题描述】:
我在 uwp 中有一个列表视图,我必须通过在所选项目上显示选中的复选框来突出显示所选项目。所以请告诉我我是如何实现它的。
My XAML code
<ListView x:Name="gvProcesses" SelectionChanged="GvProcesses_SelectionChanged" Grid.Row="1" Grid.ColumnSpan="2" Height="100" ItemsSource="{Binding ScanProcessNameCollection,Mode=OneWay}" SelectedItem="{Binding SelectedScanProcessName,Mode=TwoWay}" IsItemClickEnabled="True" SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.IsHorizontalRailEnabled="True" >
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<!--<StackPanel Orientation="Horizontal" />-->
<ItemsStackPanel Orientation="Horizontal" Margin="0"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate >
<StackPanel Background="{ThemeResource SystemControlBackgroundAccentBrush}" >
<TextBlock Visibility="{Binding IsSelected,Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}"
x:Name="txtcheckbox" FontFamily="Segoe MDL2 Assets" Text="" FontSize="{ StaticResource SmallFontSize}" VerticalAlignment="Center" HorizontalAlignment="Left"></TextBlock>
<TextBlock Text="{Binding}" FontSize="{ StaticResource SmallFontSize}" VerticalAlignment="Center" TextWrapping="WrapWholeWords" Margin="0 40" HorizontalAlignment="Center"></TextBlock>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="Margin" Value="2,0,2,0" />
<Setter Property="Padding" Value="0,0,0,0" />
<Setter Property="MinHeight" Value="50" />
<Setter Property="MaxHeight" Value="100" />
<Setter Property="MaxWidth" Value="80" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
在所有绑定的项目上显示的复选框无法正常工作,并且在我调试时它也不会在转换器上运行。
【问题讨论】: