Levon Alikhanov
Levon Alikhanov

Reputation: 103

Wpf Button Width in GroupBox Header

I have the following code:

<Window.Resources>
    <DataTemplate x:Key="ParameterItemTemplate">
        <my:ParameterItem ParamValue="{Binding Value}" Description="{Binding Name}"/>
    </DataTemplate>
</Window.Resources>

<Grid Width="Auto">
    <GroupBox BorderBrush="Black" 
              BorderThickness="2" 
              Width="Auto" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Top">
        <GroupBox.HeaderTemplate>
            <DataTemplate>
                <Button Content="Header" 
                        Width="{Binding RelativeSource={RelativeSource Self}, Path=Width}" 
                        Height="30">
                </Button>
            </DataTemplate>
        </GroupBox.HeaderTemplate>
        <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <ItemsControl x:Name="Test" 
                          ItemsSource="{Binding Items}" 
                          ItemTemplate="{StaticResource ParameterItemTemplate}" >
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel Orientation="Vertical" Height="228"/>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
            </ItemsControl>
        </ScrollViewer>
    </GroupBox>

</Grid>

When the binded items fill my ItemsControl, the Button placed in the Header of the GroupBox does not change it's width. Do I have a binding problem?
The width of the button fits only it's content.

Upvotes: 0

Views: 2065

Answers (1)

LPL
LPL

Reputation: 17083

What do you expect if you bind the width with itself? Try

<Button Content="Header" 
        Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type GroupBox}}, Path=ActualWidth}" 
        Height="30">

Upvotes: 3

Related Questions