除非单击页面WPF应用程序,否则图像不会更改 [英] Image is not changing until unless the page is clicked WPF app

查看:73
本文介绍了除非单击页面WPF应用程序,否则图像不会更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





导航到新页面后我的WPF应用程序[使用了帧datacontext替换]

在该页面上午当鼠标光标位于它顶部时更改图像。但是除非点击页面,否则图像不会改变。但工具提示工作正常



任何人都可以帮助我提前谢谢



我尝试过:



1 .manually我创建了leftmousebutton点击

2.Frame focus

3.用

替换帧源

Hi ,

In my WPF application after navigating to the new page [frame datacontext replacing is used]
In that page am changing the image when mouse cursor on the top of it.But image is not changing until unless the page is clicked.But tooltip is working fine

Any one can help me on this thanks in advance

What I have tried:

1.manually i created leftmousebutton click
2.Frame focus
3.Replaced frame source with

_mainFrame.Source = new Uri(_pagesByKey[pageKey].ToString(), UriKind.Relative);
  _mainFrame.NavigationService.Navigate(new Uri(_pagesByKey[pageKey].ToString(), UriKind.Relative));





3.图像中的图像更改样式



3.Image changing style in xaml

<Image  x:Name="Info1"   Grid.Row="0" Grid.Column="1"
                   HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,10,10,0" Height="30"  ToolTipService.Placement="MousePoint">
                <Image.Resources>
                    <Style TargetType="Image">

                        <Style.Triggers>

                            <DataTrigger Binding="{Binding ElementName=Info1,Path=IsMouseOver}" Value="True">
                                 <Setter Property="Source" Value="/Resources/Images/help_selected.png"/> 
                     <DataTrigger Binding="{Binding ElementName=Info1,Path=IsMouseOver}" Value="False">             
                               <Setter Property="Source" Value="/Resources/Images/help.png"/> 
                                
                                </Setter>
                            </DataTrigger>

                        </Style.Triggers>
                    </Style>
                </Image.Resources>
                <Image.ToolTip>
                    <ToolTip Style="{StaticResource ToolTipBackground}" Width="500" >
                        <StackPanel     >
                            <TextBlock  Text="Help" Style="{StaticResource ToolTipHeader}"  />
                            <TextBlock   Height="Auto"   Style="{StaticResource ToolTipContent}">
                                The app version and release date 
                            </TextBlock>
                        </StackPanel>
                    </ToolTip>
                </Image.ToolTip>
            </Image>

推荐答案

不要使用 DataTrigger ;改为使用 Trigger

Don't use a DataTrigger; use a Trigger instead:
<Image ...>
    <Image.Style>
        <Style>
            <Setter Property="Source" Value="/Resources/Images/help.png" />
            
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Source" Value="/Resources/Images/help_selected.png" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
    ...


这篇关于除非单击页面WPF应用程序,否则图像不会更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆