【发布时间】:2013-07-19 16:00:02
【问题描述】:
更新我将 UserControl 定义添加到 XAML。
我注意到我最近创建的几个 WPF 应用程序中有一些奇怪的行为,这似乎与使用“*”作为网格行高或列宽有关。
我所指的行为是当试图扩展控件中的项目(如树视图)时,整个窗口将调整其高度而不是创建滚动条。因此,如果我只是运行应用程序并开始扩展节点,当项目超出 UI 的可见部分时,窗口将调整大小。
但是如果我先调整窗口大小,或者甚至只是单击底部或右边框(实际上没有调整大小),那么它会正常运行并保持窗口高度不变,并打开滚动条树视图。
<UserControl x:Class="ProjectZ.Views.GenericDefinitionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:cal="http://www.caliburnproject.org"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:xcad="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:local="clr-namespace:ProjectZ"
xmlns:behaviors="clr-namespace:ProjectZ.Behaviors"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="600">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Menu Grid.Row="0" Name="mnuMainMenu" IsMainMenu="True">
... menu stuff
</Menu>
<xcad:DockingManager ... />
</Grid>
</UserControl>
我玩过它,它似乎总是在我使用“*”值作为网格行高或列宽后开始发生。如果我把它拿出来,它似乎表现正常。
还有其他人遇到过这种情况吗?任何想法我做错了什么或可以采取不同的方式来解决这个问题?我认为可能相关的唯一其他信息是这是使用 Caliburn.Micro。启动时传递给窗口的唯一设置是:MinHeight、MinWidth、Title 和 Icon。
【问题讨论】:
-
显示窗口 XAML 定义
-
我添加了 UserControl 定义。 Window 没有任何 XAML,因为它是由 Caliburn.Micro 创建的。我在启动时传递给窗口的唯一设置是我在问题末尾列出的四个。让我知道我是否可以提供任何其他有用的信息,谢谢!
标签: wpf caliburn.micro