我一直在阅读this文档,我想知道是否可以定位容器的选择复选框?具体来说,这件事在这里:
理想情况下,我希望它在右侧对齐。到目前为止,我已尝试使用
<ListView.ItemContainerStyle>
<Style TargetType="WHAT DO I WRITE HERE?">
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</ListView.ItemContainerStyle>
使用各种 TargetTypes 。是否可以定位选择框?
答案 0 :(得分:1)
说实话,你在找错了地方。 ItemContainerStyle
会调整margin
padding
以及listview
项的容器的此类属性。
您需要的是style
ListViewItem
。幸运的是,我们可以从MSDN Documentation
的{{3}}轻松获取。
我不会在这里粘贴整个代码,因为它很大,它会导致你需要调整的实际代码偏离焦点。
从上面链接的样式中,选择上面提到的两种样式,并参考下面的代码:
<Border x:Name="MultiSelectSquare"
BorderBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
BorderThickness="2"
Width="20"
Height="20"
Margin="12,0,0,0"
VerticalAlignment="Center"
HorizontalAlignment="Left"
Visibility="Collapsed" >
<Border.Clip>
<RectangleGeometry Rect="0,0,20,20">
<RectangleGeometry.Transform>
<TranslateTransform x:Name="MultiSelectClipTransform"/>
</RectangleGeometry.Transform>
</RectangleGeometry>
</Border.Clip>
<Border.RenderTransform>
<TranslateTransform x:Name="MultiSelectCheckBoxTransform"/>
</Border.RenderTransform>
<FontIcon x:Name="MultiSelectCheck"
FontFamily="{ThemeResource SymbolThemeFontFamily}"
Glyph=""
FontSize="16"
Foreground="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
Visibility="Collapsed"
Opacity="0"/>
</Border>
以上代码为checkbox
处理tick mark with border
有点SelectionMode="Multiple"
。
您要执行的所有更改必须以此样式和样式的上述代码部分完成。
请注意:我建议您不要使用Visibility
和Opacity
属性,因为它们是使用VisualStates
修改的。不要担心它们会在运行时改变状态。