首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xaml用户控件布局-Sizing

xaml用户控件布局-Sizing
EN

Stack Overflow用户
提问于 2016-06-15 15:20:20
回答 1查看 67关注 0票数 1

我有一个父用户控件,其中包含一个详细信息部分和一个树部分。我的意图是在两个按钮上,我应该能够隐藏和显示控件。

代码语言:javascript
复制
 <DockPanel>
        <DockPanel DockPanel.Dock="Left">
            <view:ListBoxUserControl DockPanel.Dock="Top" Visibility="{Binding IsListVisible ,Converter={StaticResource BoolToVisibilityConverter}}"/>
            <view:TreeUserControl DockPanel.Dock="Top" Visibility="{Binding IsTreeVisible,Converter={StaticResource BoolToVisibilityConverter}}"/>
        </StackPanel>
          <view:DetailSectionUserControl/>
    </StackPanel>

IsListVisible和IsTreeVisible是基于视图中的两个切换按钮设置的。

因此,当IsListVisible为false时,ListBoxUserControl将被隐藏,TreeUserControl将移动到顶部。效果很好。

但我在这里面临两个问题。1)要求这两个控件应具有相同的大小。在这里,将根据其中的项创建第一棵树,空间的其余部分将由TreeUserControl占用。我该怎样才能使尺寸均匀。

2)当我向ListBoxUserControl添加一个项时,控件就会增长,而TreeUserControl的大小就会减小。我该怎么换个卷轴呢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 16:09:07

尝试:

代码语言:javascript
复制
<Grid>
  <Grid.RowDefinitions>
      <RowDefinition>
          <RowDefinition.Style>
              <Style TargetType="{x:Type RowDefinition}">
                  <Setter Property="Height" Value="*" />
                  <Style.Triggers>
                      <DataTrigger Binding="{Binding IsListVisible}" Value="False">
                          <Setter Property="Height" Value="0" />
                      </DataTrigger>
                  </Style.Triggers>
              </Style>
          </RowDefinition.Style>
      </RowDefinition>
      <RowDefinition>
          <RowDefinition.Style>
              <Style TargetType="{x:Type RowDefinition}">
                  <Setter Property="Height" Value="*" />
                  <Style.Triggers>
                      <DataTrigger Binding="{Binding IsTreeVisible}" Value="False">
                          <Setter Property="Height" Value="0" />
                      </DataTrigger>
                  </Style.Triggers>
              </Style>
          </RowDefinition.Style>
      </RowDefinition>
  </Grid.RowDefinitions>

  <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
    <view:ListBoxUserControl  Visibility="{Binding IsListVisible ,Converter={StaticResource BoolToVisibilityConverter}}"/>      
  </ScrollViewer>

  <view:TreeUserControl Grid.Row="1" Visibility="{Binding IsTreeVisible,Converter={StaticResource BoolToVisibilityConverter}}"/>

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

https://stackoverflow.com/questions/37839512

复制
相关文章

相似问题

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