XAML 数据触发器绑定
本文关键字:绑定 触发器 数据 XAML | 更新日期: 2024-09-08 04:47:32
我尝试应用具有类似绑定的数据触发器
<Style x:Key="ItemStyle" TargetType="{x:Type TabItem}">
<Setter Property="Width" Value="293"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
//...somes trigger...
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=isMaxOnglets}" Value="True">
<Setter Property="Width" Value="100"/>
</DataTrigger>
</Style.Triggers>
</Style>
始终应用<Setter Property="Width" Value="293"/>
而不是数据触发器,我有这个
mainModel.isMaxOnglets = true;
而这个
bool _isMaxOnglets;
public bool isMaxOnglets
{
get
{
return _isMaxOnglets;
}
set
{
if (_isMaxOnglets != value)
{
_isMaxOnglets = value;
RaisePropertyChanged("isMaxOnglets");
}
}
}
问题:数据触发器从未应用过
尝试使用 Ancestor Binding
.
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabControl}}, Path=DataContext.isMaxOnglets}" Value="True">
<Setter Property="Width" Value="100"/>
</DataTrigger>
</Style.Triggers>
如果mainModel
DataContext
TabControl
.