Я знаю, что могу найти это на http://mark-dot-net.blogspot.com/2008/06/styling-listbox-with-silverlight-2-beta_21.html, но я хотел бы иметь возможность просто сделать что-то вроде этого:
<ComboBox Width="163" Height="30">
<ComboBox.Style>
<Style>
<Setter Property="ScrollViewer" Value="{StaticResource Custom}"/>
</Style>
</ComboBox.Style>
</ComboBox>
Но из-за ScrollViewer
недоступен, я пытался сделать что-то вроде этого:
<ComboBox Width="163" Height="30">
<Style>
<Setter Property="ScrollViewer.Style" Value="{StaticResource Custom}"/>
</Style>
</ComboBox>
Но это не работает, и если я останусь в Combobox.Style
, это выдаст мне ошибку Style object is not allowed to affect the Style property of the object to which it applies to.
Я также попытался сделать ScrollViewer.Template
но мой компьютер падает, когда я делаю это /: есть ли способ сделать это, не используя метод в ссылке, которую я предоставил ранее? Мой стиль xaml:
<ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="0"/>
<RowDefinition Height="0.00001*"/>
<RowDefinition MaxHeight="0"/>
</Grid.RowDefinitions>
<Border Grid.RowSpan="3" CornerRadius="2" Background="Transparent" />
<RepeatButton Grid.Row="0" Style="{StaticResource ScrollBarLineButton}" Height="18" Command="ScrollBar.LineUpCommand" Content="M 0 4 L 8 4 L 4 0 Z" />
<Track Name="PART_Track" Grid.Row="1" IsDirectionReversed="true">
<Track.DecreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageUpCommand" />
</Track.DecreaseRepeatButton>
<Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}" Margin="1,0,1,0" Background="#E43D47" BorderBrush="{StaticResource HorizontalNormalBorderBrush}" />
</Track.Thumb>
<Track.IncreaseRepeatButton>
<RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageDownCommand" />
</Track.IncreaseRepeatButton>
</Track>
<RepeatButton Grid.Row="3" Style="{StaticResource ScrollBarLineButton}" Height="18" Command="ScrollBar.LineDownCommand" Content="M 0 0 L 4 4 L 8 0 Z"/>
</Grid>
</ControlTemplate>