Я хотел бы создать пользовательский интерфейс, похожий на полосу открытых документов 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 пикселей в ширину.Это я хочу изменить, чтобы элемент следовал ширине его содержимого.Что я забыл установить?