首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据绑定后移动弹出窗口

问在数据绑定后移动弹出窗口
EN

Stack Overflow用户
提问于 2012-02-24 14:41:13
回答 2查看 263关注 0票数 0

我想显示弹出窗口上方当用户‘鼠标经过’,问题是,弹出窗口的内容是一个ListBox,数据绑定,所以我不知道控件的大小(设置页边距),我已经尝试了每个事件在智能感知上列出的弹出窗口,但弹出窗口的ActualHeight是零(想从Margin.Top减去),有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-02-24 23:15:28

为此,我建议使用ToolTip。这样,您就可以设置工具提示的格式,使其与数据绑定的列表框一起显示。例如:正常的工具提示将如下所示:

代码语言:javascript
复制
<sdk:Label Content="{Binding SomeBinding}" Width="Auto" Height="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                            <ToolTipService.ToolTip>
                                <ToolTip Content="Some tool tip." Name="ttSomeToolTip"></ToolTip>
                            </ToolTipService.ToolTip>
                        </sdk:Label>

我假设你是这样做的:

代码语言:javascript
复制
<sdk:Label Content="{Binding SomeToolTip}" Width="Auto" Height="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                            <ToolTipService.ToolTip>
                                <ToolTip  Name="ttSomeToolTip">
                                    <ListBox ItemsSource="{Binding MyListBoxSource}" SelectedItem="{Binding MySelectedListBoxItem,Mode=TwoWay}">                                            
                                    </ListBox>
                                </ToolTip>
                            </ToolTipService.ToolTip>
                        </sdk:Label>

我不能保证这个建议的解决方案会工作,但您有两个选择之一:将ToolTip的LayoutUpdated事件作为目标,并执行呈现转换矩阵以调整工具提示容器的大小。理论上,工具提示应自动调整大小。因此,如果你还没有使用上面提到的方法,试一试,看看会发生什么。

票数 1
EN

Stack Overflow用户

发布于 2012-02-24 14:51:20

您必须通过Dispatcher运行代码,然后您的代码将在UI线程中运行,并且您可以访问控制大小。请参阅here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9426510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档