I have a ListBox that uses an ItemContainerStyle. I tried everything I can think of to make the CheckBox control center vertically and horizontally. Any ideas?
<ListBox IsSynchronizedWithCurrentItem="True" Height="Auto" Width="Auto" DockPanel.Dock="Top" ItemContainerStyle="{StaticResource lbcStyle}" /> <Style TargetType="ListBoxItem" x:Key="lbcStyle"> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="ContentTemplate" Value="{StaticResource editable}"/> </Trigger> </Style.Triggers> <Setter Property="ContentTemplate" Value="{StaticResource nonEditable}"/> <Setter Property="HorizontalContentAlignment" Value="Center"/> '//i have tried stretch here also <Setter Property="VerticalContentAlignment" Value="Stretch"/> </Style>
CheckBoxes gets this style:
<Style x:Key="editorCheckBox" TargetType="{x:Type CheckBox}"> <Setter Property="MinWidth" Value="67" /> <Setter Property="Height" Value="25" /> <Setter Property="Margin" Value="5,0,5,0" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="HorizontalAlignment" Value="Center" /> </Style>
Here you can edit or edit:
<DataTemplate x:Key="editable"> <Border x:Name="brdEditable" Width="Auto" HorizontalAlignment="Stretch"> <DockPanel x:Name="dpdEditable" LastChildFill="True" Width="Auto" Height="Auto"> <Grid x:Name="grdEditable" Width="Auto" Height="Auto"> <Grid.ColumnDefinitions> <ColumnDefinition Width="25" /> <ColumnDefinition Width="25" /> <ColumnDefinition Width="100" /> <ColumnDefinition Width="100" /> <ColumnDefinition Width="80" /> <ColumnDefinition Width="110" /> <ColumnDefinition Width="110" /> <ColumnDefinition Width="60" /> <ColumnDefinition Width="90" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> '... <CheckBox x:Name="chkActive" Grid.Column="7" Height="25" Style="{StaticResource editorCheckBox}" ToolTip="Is Construction Active?" IsEnabled="true" Validation.ErrorTemplate="{StaticResource validationTemplate}"> <CheckBox.IsChecked> <Binding Path="Active"> <Binding.ValidationRules> <DataErrorValidationRule></DataErrorValidationRule> <ExceptionValidationRule></ExceptionValidationRule> </Binding.ValidationRules> </Binding> </CheckBox.IsChecked> </CheckBox> '... <ContentControl Name="ExpanderContent" Visibility="Collapsed" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="14"></ContentControl> </Grid> </DockPanel> </Border> </DataTemplate> <DataTemplate x:Key="nonEditable"> <Border x:Name="brdNonEditable" Width="Auto" HorizontalAlignment="Stretch"> <DockPanel Width="Auto" Height="25"> <Grid Width="Auto" Height="25"> <Grid.ColumnDefinitions> <ColumnDefinition Width="25" /> <ColumnDefinition Width="25" /> <ColumnDefinition Width="100" /> <ColumnDefinition Width="100" /> <ColumnDefinition Width="80" /> <ColumnDefinition Width="110" /> <ColumnDefinition Width="110" /> <ColumnDefinition Width="60" /> <ColumnDefinition Width="90" /> </Grid.ColumnDefinitions> <CheckBox x:Name="chkActive" Grid.Column="7" Height="25" Style="{StaticResource editorCheckBox}" ToolTip="Is Construction Active?" IsEnabled="false" Validation.ErrorTemplate="{StaticResource validationTemplate}"> <CheckBox.IsChecked> <Binding Path="Active"> <Binding.ValidationRules> <DataErrorValidationRule></DataErrorValidationRule> <ExceptionValidationRule></ExceptionValidationRule> </Binding.ValidationRules> </Binding> </CheckBox.IsChecked> </CheckBox> <Label Content="calCompDate" Style="{StaticResource editorLabelList}" Grid.Column="8" ToolTip="{Binding Path= CompDate}" /> </Grid> </DockPanel> </Border> </DataTemplate>
And so thanks to everyone who tried to help me solve this problem.
source share