gpt4 book ai didi

c# - Silverlight AccordionItem HeaderTemplate 中的超链接

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:28 26 4
gpt4 key购买 nike

我为 Accordion 创建了一个 HeaderTemplate,我想在标题的一侧显示一个文本 block ,在右侧显示一个超链接。显示工作正常,但当用户单击时不会调用单击事件,我猜 b/c header 本身正在捕获展开/收缩的单击。

    <layoutToolkit:Accordion>
<layoutToolkit:AccordionItem IsSelected="True">
<layoutToolkit:AccordionItem.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Height="20">
<TextBlock Margin="0,0,700,0">Cancel Postcards</TextBlock>
<HyperlinkButton Content="Next Call" Foreground="Blue" Click="NextCancel_Click" />
</StackPanel>
</DataTemplate>
</layoutToolkit:AccordionItem.HeaderTemplate>
..... more code ....

有没有办法让超链接响应事件而无需实际创建新控件?

更新:看起来标题在展开时将所有子控件设置为禁用,这就是链接不起作用的原因。当你折叠那个 Accordion 项目时它会起作用。那么,现在的问题是,如何防止超链接被禁用?

最佳答案

嗨查理,我刚好为 Epic720 回答了同样的问题。您必须更改锁定的 VisualState。

Interactive items in Silverlight Accordion Header

这是您应该更改的 AccordionItem 的 LockedStates VisualStateGroup。如果您需要,我可以发布整个样式,尽管它非常冗长。

<VisualStateGroup x:Name="LockedStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Locked">
<Storyboard>
<!--
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="IsEnabled" Storyboard.TargetName="ExpanderButton">
<DiscreteObjectKeyFrame KeyTime="0" Value="False"/>
</ObjectAnimationUsingKeyFrames>
-->
</Storyboard>
</VisualState>
<VisualState x:Name="Unlocked">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="IsEnabled" Storyboard.TargetName="ExpanderButton">
<DiscreteObjectKeyFrame KeyTime="0" Value="True"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>

关于c# - Silverlight AccordionItem HeaderTemplate 中的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4664916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com