首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展器不可扩展

扩展器不可扩展
EN

Stack Overflow用户
提问于 2012-08-18 01:29:40
回答 2查看 267关注 0票数 1

我有一个WPF应用程序,我使用扩展器。当我使扩张器倒塌时,它会一直占据空间。有没有可能在xaml中释放空间?

下面是一些代码:

代码语言:javascript
复制
   <Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="3*"></RowDefinition>
        <RowDefinition Height="4*"></RowDefinition>
        <RowDefinition Height="2*"></RowDefinition>
  </Grid.RowDefinitions>
    <wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding IsBusy}" BusyContent="Uploading enrollment data..." Grid.Row="0" />

    <Expander Grid.Row="1" IsExpanded="True" Header="Enrollment Files Upload">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal" Margin="3, 10" Grid.Row="0">
                <TextBlock Text="Agencies:" VerticalAlignment="Center" />
                <ComboBox x:Name="Agencies" DisplayMemberPath="PrimaryName" SelectedValuePath="AgentId" 
                      SelectedItem="{Binding SelectedAgency}"
                      MinWidth="100" Margin="3,0,10,0" VerticalAlignment="Center" />
                <TextBlock Text="Worksheet:" VerticalAlignment="Center" />
                <TextBox x:Name="WorkSheetName" VerticalAlignment="Center" Margin="3,0,10,0" />
                <Button x:Name="UploadFile"
                MinWidth="70"
                Margin="2"
                HorizontalAlignment="Center"
                VerticalAlignment="Center" 
                attachProperties:ButtonIcon.Icon="Resources/Images/add.png"
                Content="Upload File"  IsEnabled="{Binding EnrollmentFiles.Any}"                           
                Style="{StaticResource ImageButtonStyle}" />

                <Button x:Name="EnrollmentDelete"
                    MinWidth="70"
                    Margin="2"
                    HorizontalAlignment="Center"
                    VerticalAlignment="Center" 
                    attachProperties:ButtonIcon.Icon="Resources/Images/Remove.png"
                    Content="Delete Enrollment"  IsEnabled="{Binding EnrollmentFiles.Any}"                           
                    Style="{StaticResource ImageButtonStyle}" />
            </StackPanel>

            <c1:C1FlexGrid x:Name="EnrollmentFiles" Grid.Row="1"
                AutoGenerateColumns="False"
                IsReadOnly="True" Width="Auto"
                ItemsSource="{Binding Path=EnrollmentFiles}"
                SelectionMode="Row" KeepCurrentVisible="True"
                SelectedItem="{Binding Path=SelectedEnrollmentFile, Mode=TwoWay}">
...
            </c1:C1FlexGrid>
        </Grid>   
    </Expander>

    <Expander Grid.Row="2" IsExpanded="True" Header="First Data Entry Records">

        <DataGrid x:Name="FirstEntries"
            AutoGenerateColumns="False"
            BaseControls:DataGridExtension.Columns="{Binding FirstEntryGridColumns}"
            CanUserAddRows="False" IsReadOnly="True"
            SelectedItem="{Binding Path=SelectedFirstEntry}">
...
        </DataGrid>

    </Expander>

    <Expander Grid.Row="3" IsExpanded="True" Header="Enrollment Files Upload">

        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
            </Grid.ColumnDefinitions>

            <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.ColumnSpan="3" Margin="3,10">
 ...
            </StackPanel>

            <TextBlock x:Name="SelectedFirstEntry_NameOnAccount" Grid.Row="1" Grid.Column="0"  />
            <TextBlock x:Name="SelectedFirstEntry_AccountNo" Grid.Row="1" Grid.Column="1" Margin="3,0" />
            <TextBlock x:Name="SelectedFirstEntry_MeterNo" Grid.Row="1" Grid.Column="2" Margin="3,0"/>

            <DataGrid x:Name="Findings" Grid.Row="2" 
                 AutoGenerateColumns="False"
                 BaseControls:DataGridExtension.Columns="{Binding FindingsGridColumns}"
                 CanUserAddRows="False">
 ...
            </DataGrid>
        </Grid>
    </Expander>
</Grid>

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-18 02:25:37

扩展器确实会折叠,但您看不到它,因为您的行定义具有恒定的高度,请尝试:

代码语言:javascript
复制
<RowDefinition Height="auto"></RowDefinition>

(在顶部网格上)

票数 2
EN

Stack Overflow用户

发布于 2012-08-18 04:31:03

扩展器控件是一个很奇怪的控件。关于使用的空间等,有一些事情你需要避免。

具体来说,

“即使内容折叠,边框也会显示。若要设置展开内容区域的大小,请在扩展器的内容上设置大小尺寸,或者,如果需要滚动功能,请在包含内容的ScrollViewer上设置大小。”

因此,看起来你必须重新考虑你的UI,使用固定的内容大小和滚动浏览器,或者使用带有3个标签的TabControl?

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

https://stackoverflow.com/questions/12010391

复制
相关文章

相似问题

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