是否可以将没有setter的属性绑定到WPF中的DataTrigger
?我有以下代码,并且未按预期调用属性的getter:
<TextBlock>
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsLoggedIn}" Value="True">
<Setter Property="Text" Value="Connected" />
<Setter Property="Foreground" Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding IsLoggedIn}" Value="False">
<Setter Property="Text" Value="Disconnected" />
<Setter Property="Foreground" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
public bool IsLoggedIn
{
get { return Connection.IsLoggedIn; }
}
INPC正确实现(虽然我认为在这种情况下实际上并不重要)并且具有setter的属性表现正常。可以将此属性绑定到DataTrigger
(并使其正确更新),因为它现在可以吗?
答案 0 :(得分:1)
它可能。为什么不呢?
在绑定的源端只有一个吸气剂就可以了。绑定的目标必须是依赖属性,但源可以是任何东西。
如果您希望正确触发更改,一旦Connection.IsLoggedIn发生更改,您将不得不使用属性名称IsLoggedIn触发PropertyChanged。