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

<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的大小就会减小。我该怎么换个卷轴呢。
发布于 2016-06-15 16:09:07
尝试:
<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>https://stackoverflow.com/questions/37839512
复制相似问题