【问题标题】:Add Custom Popup for mouseover of Datepicker为 Datepicker 的鼠标悬停添加自定义弹出窗口
【发布时间】:2011-07-09 05:10:19
【问题描述】:

我正在向自定义 Datepicker 添加触发器以触发弹出文本块。

但是,当我运行代码时,我得到一个未处理的 nullreferenceexception。

如果我删除触发器,一切正常。

<Grid.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
        <Setter TargetName="Popup_PrevButton" Property="IsOpen" Value="True" />
        <Setter TargetName="Popup_NextButton" Property="IsOpen" Value="True" />
    </Trigger>
    <Trigger Property="IsMouseOver" Value="False">
        <Setter TargetName="Popup_PrevButton" Property="IsOpen" Value="False" />
        <Setter TargetName="Popup_NextButton" Property="IsOpen" Value="False" />
    </Trigger>
</Grid.Triggers>

我尝试将触发器放在 PART_Button 和 ControlTemplate 中,但没有任何效果。

弹出代码放在PART_Popup之后,如下:

<Popup x:Name="Popup_PrevButton"
       PlacementTarget="{Binding ElementName=PART_Button}"
       IsOpen="False"
       Placement="Left" 
       StaysOpen="False"
       AllowsTransparency="True" 
       PopupAnimation="Fade"
       Focusable="True">
    <StackPanel>
       <Border Background="LightYellow">
             <TextBlock>Show Custom Rext</TextBlock>
       </Border>
    </StackPanel>
</Popup>

是什么导致了错误?

【问题讨论】:

    标签: wpf wpf-controls popup datepicker


    【解决方案1】:

    元素的触发器仅支持EventTrigger,因此您不能使用属性触发器 (Trigger)。看FrameworkElement.Triggers Property

    <Grid.Triggers>
        <EventTrigger RoutedEvent="UIElement.MouseEnter">
            <BeginStoryboard>
                <Storyboard>
                    <BooleanAnimationUsingKeyFrames 
                        Storyboard.TargetName="Popup_PrevButton" 
                        Storyboard.TargetProperty="IsOpen">
    
                        <DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="True"/>
                    </BooleanAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Grid.Triggers>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-19
      • 2010-11-02
      • 2016-09-23
      • 1970-01-01
      • 2011-08-22
      • 2020-09-20
      • 1970-01-01
      相关资源
      最近更新 更多