Когда я вручную установил эти текстовые блоки, я смог их легко разглядеть, изменив левое поле на -50, за исключением первого, который получил значение 0 (ноль). Как стилизовать вращающиеся текстовые блоки ближе друг к другу?
Теперь я получаю текстовые блоки, заполненные привязкой, поэтому, когда я применяю стиль, это происходит со всеми TextBlocks.
<Style x:Key="RotatedText" TargetType="TextBlock">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-45" />
</Setter.Value>
</Setter>
<Setter Property="Width" Value="130"/>
<Setter Property="Margin" Value="-50,0,0,0"/>
</Style>
Теперь это происходит:
Что мне интересно, как я могу создать либо стиль, который работает для всех TextBlocks или определить отдельный стиль для первого TextBlock, а другой для остальных.
<ListBox x:Name="lstModules" ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.Modules}" BorderBrush="{x:Null}" Background="{x:Null}" BorderThickness="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" CanVerticallyScroll="False" CanHorizontallyScroll="False"></StackPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Style="{StaticResource ListViewItemRotatedText}" Text="{Binding ModuleName}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я просто пробовал то, что, как я думал, было бы достойным решением для этого: перевести преобразование на -90, а затем преобразовать визуализацию на 45 с началом преобразования рендеринга в 0,1. Однако WPF по какой-то причине обрезается, даже с ClipToBounds = false. –
Я заметил, что – Hank