我正在开发一个同事和我正在开发的应用程序的GUI。有一个GUI bug,一直在窃听我,我一直无法弄清楚如何解决。如何调整父母的高度到其子女的身高?
在我的GUI中有一个网格。其中一列是我可以按下的向下箭头图像。当你点击箭头时,它会扩展附加信息。我使用RowDetailsTemplate获取更多信息。当您再次单击它时,附加信息将消失。我使用Mouse_Down事件来将行细节的可见性从可见变为可折叠,反之亦然。
问题是,在折叠了附加信息之后,网格的大小仍然扩大,好像适合附加信息一样。但是附加信息的可见性已经设置为折叠状态,为什么我的网格不能恢复到原始高度?如何将datagridrow的高度调整为其子级大小?
编辑:
这是我gridrow最初设定rowdetails到崩溃:
<DataGrid Grid.Row="1" ItemsSource="{Binding ReadUnits}" BorderThickness="0" Name="dataGrid" RowDetailsVisibilityMode="Collapsed" HeadersVisibility="Column" GridLinesVisibility="Horizontal" VerticalScrollBarVisibility="Disabled" >
这是代码在图像单击是。该行正在侵入此数据模板。这是我可以创建Mouse Down事件。
<DataGridTemplateColumn Header="" Width="30">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Name="navigationImage" Source=".../expand.png" Width="16" Height="16" MouseDown="navigationImage_MouseDown" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
这是事件发生的地方。这将设置rowdetails的可见性。
这将有助于如果你可以发布一些示例代码来展示问题。 – Phil 2012-02-16 17:18:38
@Phil,增加了一些有问题的代码。 – Jay 2012-02-16 17:36:18
您的代码适用于我的简单RowDetailsTemplate。尝试一个简单的模板,看看是否可行。我使用.NET 4,是吗? – Phil 2012-02-16 21:48:06