我有DataGrid
我正在使用RowDetailsTemplate
来显示所选DataGrid
项目的详细信息。显示的信息与“SubItems”类似,因此我使用ListBox
和TextBlock
和两个CheckBox
控件来显示所有信息。
控件使用Grid
进行定位,但我无法将CheckBox
控件居中在Grid
内。他们总是左对齐。
我在Stackoverflow上看到过类似的问题,但没有为我工作的几个问题。我如何将两个CheckBox
控件集中到他们分配给的Grid.Column
?这是我的XAML代码:列表框中的网格中的复选框水平对齐不起作用
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ListBox Name="lbDependencyDetails" HorizontalContentAlignment="Stretch" ItemsSource="{Binding Path=DependencyView, UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="55" />
<ColumnDefinition Width="55" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Grid.ColumnSpan="2"
Text="{Binding Path=Dependency.SoftwareName}"
Margin="{Binding Path=Margin}"
HorizontalAlignment="Left" />
<!--<GridSplitter HorizontalAlignment="Right" Grid.Column="1" Width="2" />-->
<CheckBox Grid.Column="2"
IsChecked="{Binding Path=Dependency.IsMarkedForReinstall, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"
IsEnabled="False"
Width="55" />
<CheckBox Grid.Column="3"
IsChecked="{Binding Path=Dependency.IsMarkedForRepair, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"
IsEnabled="False"
Width="55" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
就是这样!非常感谢!你能帮我理解一下这个问题吗?如果我将复选框的宽度设置为55,那么完整的空间是多少? Grid.Column? – sevi