измененная кнопка Silverlight изменяет размер - PullRequest
1 голос
/ 31 марта 2011

Я хотел бы создать пользовательский интерфейс, похожий на полосу открытых документов Visual Studio.Основная идея в том, что у меня есть список, который я заполняю миниатюрами открытых документов.У меня есть следующие шаблоны:

<DataTemplate x:Key="ListBoxItemTemplate">
    <Grid x:Name="grid" Height="23" d:DesignWidth="100">
        <Rectangle x:Name="background" Grid.ColumnSpan="3" 
            Stretch="Fill" Fill="{StaticResource LinearMain02}" Margin="0"/>
      <TextBlock Text="text" Margin="4,0,25,0" Foreground="{StaticResource SolidBaseBrush}"
            VerticalAlignment="Center"/>
        <Button x:Name="button" Style="{StaticResource CloseButtonStyle}" 
            Foreground="{StaticResource SolidStrongBrush}" BorderBrush="{x:Null}" 
            Margin="0,0,4,0" VerticalAlignment="Center" HorizontalAlignment="Right" 
            Width="15" Height="15" BorderThickness="0" Opacity="0"/>
    </Grid>
</DataTemplate>


<Style x:Key="CloseButtonStyle" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
        <Grid Width="{TemplateBinding Height}" Height="{TemplateBinding Height}">
            <Ellipse Stroke="{StaticResource SolidBaseBrush}" Opacity="0"/>
              </Grid>
          </ControlTemplate>
       </Setter.Value>
    </Setter>
</Style>

Сам ListBox не так много, чтобы посмотреть, но вот он:

<ListBox Grid.Row="1" x:Name="list_tabs"
    ItemsSource="{Binding Thumbnails}" 
    SelectedItem="{Binding SelectedThumbnail, Mode=TwoWay}" 
    ItemTemplate="{StaticResource TabListItemTemplate}" BorderBrush="{x:Null}" 
    Padding="0" BorderThickness="0" 
    Background="{StaticResource LinearStrong10}">
<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
        <toolkit:WrapPanel Orientation="Horizontal" ItemHeight="30"/>
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>

Кажется, не имеет значения, как долгосодержание элемента составляет 100 пикселей в ширину.Это я хочу изменить, чтобы элемент следовал ширине его содержимого.Что я забыл установить?

...