WPF:在某些控件的触发器中链接另一个控件的属性



这是我的textblock。

    <Image x:Name:imgAnother/>
    <TextBlock>
        this is my text block
        <TextBlock.Style>
            <Style TargetType="TextBlock">
                <Setter Property="TextDecorations" Value="None"/>
                <Style.Triggers>
                    <Trigger Property="TextBlock.IsMouseOver" Value="True">
                        <Setter Property="Foreground" Value="RoyalBlue"/>
                        <!--I like to insert a code at here that changes another control's property...-->
                    </Trigger>
                    <Trigger Property="TextBlock.IsMouseOver" Value="False">
                        <Setter Property="Foreground" Value="#FF808080"/>
                        <!--..and this line too.-->
                   </Trigger>
                </Style.Triggers>                    
            </Style>
        </TextBlock.Style>
    </TextBlock>

我喜欢做一个xaml代码,可以改变另一个控件的属性,如"imgAnother"。

我该怎么做呢?

您必须以某种方式聚合源和目标。

您可以创建包含超链接/文本块和图像的自定义控件。如果您有几个块在这样的示例中运行,那么这是首选的方式。

如果你不喜欢这个。您可以创建一个"临时"匿名控件,如下所示:

<ControlTemplate x:Key="myCtl" TargetType="ContentControl">
  <StackPanel>
    <Image x:Name="img"/>
    <ContentPresenter x:Name="ctr" />
  </StackPanel>
  <ControlTemplate.Triggers>
                    <Trigger SourceName="ctr" Property="IsMouseOver" Value="True">
                        <Setter TargetName="ctr" Property="Foreground" Value="RoyalBlue"/>
                        <!--I like to insert a code at here that changes another control's property...-->
                    </Trigger>
                    <Trigger SourceName="ctr" Property="IsMouseOver" Value="False">
                        <Setter TargetName="ctr" Property="Foreground" Value="#FF808080"/>
                        <!--..and this line too.-->
                   </Trigger>
  </ControlTemplate.Triggers>
</ControlTemplate>

上面的xaml将驻留在您的windows资源中。

注意:它更像是要跟随的曲目,而不是功能完整的代码片段!

在正文中,你可以这样引用控件:

<ContentControl Template="{StaticResource myCtl}" Content="this is my text block" />

希望能有所帮助。

相关内容

  • 没有找到相关文章

最新更新