gpt4 book ai didi

wpf - 将 GridViewColumn 中的复选框居中?

转载 作者:行者123 更新时间:2023-12-04 15:57:34 32 4
gpt4 key购买 nike

我目前正在努力获得我的 CheckBox es 在我的 GridViewColumn 中正确居中s。

我定义了一个 Style我的 CheckBox像这样:

<Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Margin" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type GridViewColumn}},Path=ActualWidth}" />
</Style>

还有我的 CheckBox es 被添加到 GridViewColumn使用 DataTemplate像这样:
<GridViewColumn Header="Comment">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Style="{StaticResource DataGridCheckBox}" IsChecked="{Binding PropertyItem.Comment, Converter={StaticResource booleanConverter}, ConverterParameter='string'}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

但我遇到的问题是 CheckBox es 保持左对齐(即使在调整列大小时)。

有任何想法吗?

提前致谢,
桑尼

编辑:我一直在搞一个 CheckBox在空白窗口中,我认为问题可能与 CheckBox 有关控制。如果我做一个很宽的 CheckBox ,我似乎还是无法得到 CheckBox它的一部分在其内部对齐。它总是想去左上角。顾名思义, ContentAlignment属性似乎只对齐内容。

最佳答案

尝试将 ListViewItem 的 Horizo​​ntalContentAlignment 设置为 Stretch

<ListView ...>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
<ListView.ItemContainerStyle>
<!-- ... -->
</ListView>

更新

这是一个仅 Xaml 的示例,它使 CheckBox 居中。粘贴它并尝试:)
<Grid>
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.Resources>
<Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Margin" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type GridViewColumn}},Path=ActualWidth}" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Comment">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Style="{StaticResource DataGridCheckBox}" IsChecked="True"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListViewItem>Item1</ListViewItem>
<ListViewItem>Item2</ListViewItem>
<ListViewItem>Item3</ListViewItem>
</ListView>
</Grid>

关于wpf - 将 GridViewColumn 中的复选框居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514055/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com