.net 在ScrollBarViewer的RepeatButton中使用背景图像不会';不要显示图像
我正在尝试在WPF中创建自己的scrollviewer,除了RepeatButton中的背景图像外,它工作正常。如果我使用SolidColorBrush而不是ImageBrush,它可以正常工作。下面是我的xaml,我已经验证了ImageSource可以通过将它添加到滚动条的其他地方(特别是轨迹图像)来找到。你知道这是为什么吗?这张圆形的图像显示的很好.net 在ScrollBarViewer的RepeatButton中使用背景图像不会';不要显示图像,.net,wpf,scrollbar,imagebrush,.net,Wpf,Scrollbar,Imagebrush,我正在尝试在WPF中创建自己的scrollviewer,除了RepeatButton中的背景图像外,它工作正常。如果我使用SolidColorBrush而不是ImageBrush,它可以正常工作。下面是我的xaml,我已经验证了ImageSource可以通过将它添加到滚动条的其他地方(特别是轨迹图像)来找到。你知道这是为什么吗?这张圆形的图像显示的很好 <Style x:Key="ScrollBarButtonStyle" TargetType="RepeatButton">
<Style x:Key="ScrollBarButtonStyle" TargetType="RepeatButton">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RepeatButton">
<Grid Name="ButtonBackground">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<ImageBrush ImageSource="{DynamicResource ListItemBackgroundBttnNormal}"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<ImageBrush ImageSource ="{DynamicResource ListItemBackgroundBttnPressed}"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<ImageBrush ImageSource = "{DynamicResource ListItemBackgroundBttnDisabled}"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimation Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Opacity" From="1.0" To="0.5"/>
</Storyboard>
</VisualState>
<VisualState x:Name="MouseOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<ImageBrush ImageSource="{DynamicResource ListItemBackgroundBttnNormal}"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter
x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
尝试将DynamicResource更改为StaticResource,看看它是否仍然有效。如果找不到路径,则DynamicSource不会显示任何错误,其中StaticResource不显示错误。我假设您的图像源在此上下文中是未知的。
请确保您将资源添加到App.xaml的
谢谢,就是这样。我不得不将其添加到合并词典中。我不能只是把它作为资源添加。