我正在使用自定义弹出窗口向用户显示一些内容。
<i:Interaction.Triggers>
<mvvm:InteractionRequestTrigger SourceObject="{Binding NotificationRequest}">
<mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True">
<mvvm:PopupWindowAction.WindowContent>
<views:DataFeedManagerView/>
</mvvm:PopupWindowAction.WindowContent>
</mvvm:PopupWindowAction>
</mvvm:InteractionRequestTrigger>
</i:Interaction.Triggers>
在用户尝试调整弹出窗口大小之前,一切正常。内容将以其父窗口为中心。
为了理解我的错,我尝试探索棱镜的交互性样本,我也看到同样的问题。我该如何解决这个问题?
答案 0 :(得分:4)
我想向你道歉(mm8),因为我的问题不完整,所以你的答案也不完整。在看到你的答案之后我明白了。
为什么你的答案没有解决我的问题? 因为我的DataFeedManagerView必须是Width =&#34; 960&#34;和高度=&#34; 540&#34;固定长度。选择更改时,左侧有一个项目控件,中心有内容控件,其内容动态变化(当然内容大小也在变化)与选择。
延迟细节&amp;溶液强> 我的问题来自我的ShellView中的第一个xaml,我的弹出窗口是DataFeedManagerView,它有Width =&#34; 960&#34;和高度=&#34; 540&#34;固定长度。因此,当我调整弹出窗口的大小时,它将以我的用户控件为中心。所以很快就会删除宽度和宽度。高度xaml部件来自DataFeedManagerView,它将拉伸到弹出窗口内容,就像我想要的那样。但删除后,当弹出窗口显示在屏幕上时,它的大小会太大,我想再将它的大小设置为固定值。为了解决这个问题,我还要给弹出窗口一个样式。所以我的问题的解决方案是从DataFeedManagerView删除固定宽度和高度属性并更改ShellView xaml,如下所示;
<i:Interaction.Triggers>
<mvvm:InteractionRequestTrigger SourceObject="{Binding NotificationRequest}">
<mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True">
<mvvm:PopupWindowAction.WindowStyle>
<Style TargetType="Window">
<Setter Property="Width" Value="960"/>
<Setter Property="Height" Value="540"/>
</Style>
</mvvm:PopupWindowAction.WindowStyle>
<mvvm:PopupWindowAction.WindowContent>
<views:DataFeedManagerView/>
</mvvm:PopupWindowAction.WindowContent>
</mvvm:PopupWindowAction>
</mvvm:InteractionRequestTrigger>
</i:Interaction.Triggers>
我希望我的问题&amp;答案将有助于他人。感谢。强>
答案 1 :(得分:1)
我该如何解决这个问题?
在官方的Prism示例中,只需删除CustomPopupView UserControl的显式宽度即可。您可以通过将宽度设置为double.NaN
:
<prism:PopupWindowAction>
<prism:PopupWindowAction.WindowContent>
<views:CustomPopupView Width="NaN" />
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
您的DataFeedManagerView应该能够相同:
<mvvm:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True">
<mvvm:PopupWindowAction.WindowContent>
<views:DataFeedManagerView Height="NaN" Width="NaN" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</mvvm:PopupWindowAction.WindowContent>
</mvvm:PopupWindowAction>