- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个带样式的列表框,包括带样式的 Listboxitem。我正在尝试创建一个将不透明度从 0 更改为 1 的动画,以使项目显示在列表中。我已设法使用以下代码做到这一点:
<Style x:Key="ListBoxStyle1" TargetType="ListBox">
<Setter Property="Foreground" Value="#FF393C3F" />
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border Name="Border" Background="{x:Null}" BorderBrush="Black" BorderThickness="0" Padding="0">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ListBoxItemStyle1" TargetType="ListBoxItem">
<Setter Property="Opacity" Value="0" />
<Setter Property="Height" Value="16" />
<Setter Property="VerticalContentAlignment" Value="Bottom" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="10,1,0,0" Background="{x:Null}">
<ContentPresenter VerticalAlignment="Center" SnapsToDevicePixels="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="{StaticResource arrow}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="#FF828689" />
</Trigger>
<Trigger Property="IsVisible" Value="true">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:0.4" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
一切正常(除此之外,我希望在当前和下一个项目动画开始之间有更多时间。但它有不透明度问题。一切可能都设置为透明,背景和所有。我使用透明.png 所选项目的画笔。
问题出在不透明动画上,最好在底部图片上看到:
这是动画中间的屏幕截图(当时列表框项目的不透明度为 0.8),您可以清楚地看到所有文本周围的白色背景。它在第一个选中的项目中更加明显,因为它使用透明的 .png。当动画结束且不透明度为 1.0 时,背景会神奇地消失。
如何解决这个问题?我是不是忘记设置背景了?
感谢您的帮助!
编辑:
我正在添加我的列表框声明:
<ListBox Height="239" HorizontalAlignment="Left" Margin="0,0,0,0" Name="listBox1" VerticalAlignment="Top" Width="145" Background="{x:Null}" FontWeight="Black" FontSize="8" BorderBrush="{x:Null}" SnapsToDevicePixels="True" BorderThickness="0" ItemContainerStyle="{StaticResource ListBoxItemStyle1}" Style="{StaticResource ListBoxStyle1}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VerticalAlignment="Top" Background="{x:Null}" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
还有一个问题是:如何延迟每个列表框项目显示的动画,在下一个列表框项目显示之前延迟几毫秒?
感谢您的帮助。
最佳答案
这可能是系统相关的渲染异常,我尝试了那种风格(只需要使用我自己选择的项目图像,也是透明的 PNG)并且效果很好。
在我的一个应用程序中,设置为 Rectangle
的 Fill
属性的图像在我的一台计算机(甚至具有相同的操作系统 Win7 Professional)上被奇怪地拉伸(stretch),因此不会闻所未闻...
关于c# - ListBoxItem 动画和不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672551/
您好,我找不到任何类似的问题,所以我发布了新问题。在下面的代码中,我使用 ListBoxItems 创建 ListBox 控件,每个 ListBoxItems 都包含内部单选按钮。当我单击单选按钮时,
我将以下数据模板应用于列表框: 当我单击按钮时,命令被触发,但 ListBoxItem 没有被选中。如何强制它被选中,以便我可以在我的“执行
我想在数据绑定(bind)的多个列表框上实现拖放 - 使用 MVVM 模式。我不是试图在列表框之间拖放,而是希望用户能够在每个列表框中拖放列表框项,以便他们可以重新排列排序顺序。我在 SO 上发现这篇
我想实现一种效果,其中 ListBoxItem 被选中(突出显示)几秒钟,然后被取消选中。尝试使用淡入淡出效果实现简单的控件突出显示,但为了使事情正常进行,我需要相应地更改一个属性。 我有一个 IsS
我尝试实现一个 ListBox,其中所选项目比其他项目更详细地显示。 Josh Smith 在 his blog 上展示了一种方法. 为了增强用户体验,我想对变化进行动画处理(即项目变大,附加信息淡入
我只能找到如何通过单击组件 -> Items Editor 来创建 ListBoxItem。 我们如何使用 Firemonkey 以编程方式创建 ListBoxItem? 最佳答案 只需创建列表框项,
是否可以从 Windows Presentation Foundation 的代码隐藏更改选定的 ListBoxItem? 这真的是一个非常简单的任务,我有一个 Next 和 Previous 按钮,
我有一个带样式的列表框,包括带样式的 Listboxitem。我正在尝试创建一个将不透明度从 0 更改为 1 的动画,以使项目显示在列表中。我已设法使用以下代码做到这一点:
我们如何在运行时向 Windows Metro 风格应用程序中的 ListBox 控件添加新项目? 我来自 WinForms,所以你可以想象,我现在很困惑。 我有以下内容: public class
由于某些原因,我必须在后面的代码中初始化 ListBox 项,原因太复杂了。 在 WPF UserControl 显示期间调用 LoadFamily()。 public void LoadFamily
我正在为一个学校项目构建一个聊天室。在聊天室中有一个包含所有消息的列表框。 Messages 是一个包含所有消息的 ObservableCollection。 Message 类有发件人姓名变量。
我想将用户控件 (View) 绑定(bind)到 ListBoxItem。 ListBox 绑定(bind)到 ViewModel 的集合。我已将 ListBox 的 ItemTemplate 设置为
我在设置 HighlightBrushKey 时遇到问题的 SelectedItem的 Listbox在 WPF 中。我的意图是根据代码中给定的 bool 值设置 Item 的颜色。 我试过以下步骤:
实际的视觉效果由 DataTemplate 决定。在运行时,如何遍历 ListBoxItem 的所有可视元素? 最佳答案 假设您引用了 ListBoxItem 之一列表中的 s,您可以使用 Visua
这是我的问题:
我有一个 ListBox 控件;我如何使用下面的代码为每个 ListBoxItem 设置 ToolTip。
我想做这样的事情。
我正在尝试为我的 wpf 应用程序中的业务对象定义一个 dataTemplate,该对象的集合绑定(bind)到 ListBox。
我有一个 ListBox 控件;我如何使用下面的代码为每个 ListBoxItem 设置 ToolTip。
我正在创建一个自定义混合行为来作用于 ListboxItem,即 public class DragtestBehaviour : Behavior { public DragtestBeha
我是一名优秀的程序员,十分优秀!