触发器没有触发

时间:2011-07-28 16:05:40

标签: wpf xaml triggers styles datatrigger

这一整天都在做反复试验。认为最好在这里发帖并获得一些关于我是否正确行事的反馈。我只是在选中单选按钮时尝试更改TextBlock ToolTip文本。

编辑:想出来......我将触发器应用于DataTemplate而不是TextBlock本身。 (见答案)

1 个答案:

答案 0 :(得分:4)

如果您在本地设置文本,则触发器将无法更改precedence引起的值。

将默认文本移动到样式中:

<!-- There are still issues with this -->
<TextBlock Grid.Row="2" Grid.Column="1">
    <TextBlock.Style>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="Text" Value="{Binding SIMULATOR_CONTROL_BLADE_DATA.CONTROL_BLADE_ASSEMBLY.REACTOR_CORE_COORDINATE.RCC_REACTOR_Y}"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding radSimulator, Path=IsChecked}" Value="True">
                    <Setter Property="Text">
                        <Setter.Value>
                            <Binding Path="SIMULATOR_CONTROL_BLADE_DATA.CONTROL_BLADE_ASSEMBLY.REACTOR_CORE_COORDINATE.RCC_MODEL_Y"></Binding>
                        </Setter.Value>
                    </Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
</TextBlock.Style>

此绑定已损坏:

Binding="{Binding radSimulator, Path=IsChecked}"

这意味着您将路径设置两次,因为输入的字符串没有任何属性名称将用作路径(请参阅the respective constructorBinding),这可能是这个吗?

Binding="{Binding ElementName=radSimulator, Path=IsChecked}"