- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想为我的 TabControl 使用一个 MultiDataTrigger。悬停在选项卡时,应更改颜色。但如果选择了 Tab,则不会。我尝试了 MultiDataTrigger。但这似乎不起作用。这是我的风格:
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border Name="Border" BorderBrush="Black" BorderThickness="0.5,0.5,0.5,0" CornerRadius="4,4,0,0">
<ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="12,2,12,2"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#fefeff" Offset="0" />
<GradientStop Color="#e7edf6" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#c5d0df" Offset="0" />
<GradientStop Color="#aab4c2" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsMouseOver}" Value="True" />
<Condition Binding="{Binding Path=IsSelected}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter TargetName="Border" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#dde6f2" Offset="0" />
<GradientStop Color="#c6d0de" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</MultiDataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
有什么问题吗?
最佳答案
将触发器更改为:
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="false"/>
<Condition Property="IsMouseOver" Value="true"/>
</MultiTrigger.Conditions>
根据 AngelWPF's回答一个 DataTrigger 将尝试绑定(bind)到当前的 DataContext,它将在其中找不到与属性匹配的内容。
关于c# - MultiDataTrigger 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886048/
我有 MultiDataTrigger看起来像这样:
我想为我的 TabControl 使用一个 MultiDataTrigger。悬停在选项卡时,应更改颜色。但如果选择了 Tab,则不会。我尝试了 MultiDataTrigger。但这似乎不起作用。这
我有一个 ListView 声明为: 和定义为的样式
在 View 模型上显示多个 View 的 WPF-MVVM 应用程序。用户可以在运行时从不太详细的 View 转到更详细的 View 。 View 包含在边界内。在一组条件下, View 模型会触发
我目前正在分析一些使用广泛使用 MultiDataTriggers 的样式的 XAML。 (每种样式 8-10 个多数据触发器,每个触发器有 4-6 个条件)。当看到这个时,我正在考虑使用 conve
在 UserControl 中,我有一个 enum 类型的 DP(eGroupStyle 类型的 GroupStyle)和一个 DP bool 类型 (IsGrouped)。我需要在所有可能的条件下开
我只想在我的两个数据网格都选择了项目时才启用按钮。现在,当其中一个数据网格有选择时,它就会被启用。有什么想法吗?
我已经实现了一个 WPF 用户控件,我想在这里实现的是鼠标悬停在主网格上时,一些堆栈面板应该隐藏。我需要有多个触发条件。尽管到处寻找,但我无法找到我做错了什么。 UserControl资源如下
我正在尝试在我的 Button 上设置多个 DataTriggers。我做了一些研究,发现 MultiDataTrigger 允许您执行此操作。如果 CCTVPath == string.Empty
在 Silverlight 中,更改按钮等控件的模板时,最好使用 VisualStateManager 吗? 或者是否支持 Silverlight 中的数据触发器等触发器? 我只是想在工作中保持 WP
我遇到了一种情况,我可以通过使用 MultiDataTrigger 轻松实现相同的功能。或者,或者,使用 DataTrigger与 MultiBinding .是否有任何实质性理由偏爱一种方法而不是另
我从一些示例中看到可以组合这种触发器: 使用这种数据触发器: 通过使用这样的 MultiDataTrigger:
我想使用转换器创建一个触发器,如果绑定(bind)属性之一为 true,则该转换器返回 true。 像这样 public class TestConverter : IMultiValueConv
我有一个 ListView,AlternationCount 设置为 2。我有一个 ListViewItem 样式,当前将 ListViewItem 的背景颜色设置为交替颜色,我想添加第三个触发器,它
我是一名优秀的程序员,十分优秀!