1
我试图创建具有一个切换按钮/头的超薄酒吧的扩张左边,但是当在窗口的其余部分扩展罢了,甚至超过材料的已经在那了。WPF:如何做一个扩展溢出,并填写窗口
我真的不知道该怎么办的最好的办法是。我想也许是一个2列的网格。首先是膨胀机,其次是其他材料。接下来,我将有一个触发器,当扩展器IsExpanded时将第二列的宽度设置为零。
我真的不知道如何得到那个工作,甚至如何正确地做到这一点。
下面是一些代码示例:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Name="SecondColumn" Width="*" />
</Grid.ColumnDefinitions>
<Expander ExpandDirection="Right" IsExpanded="True">
<Expander.Resources>
<Style TargetType="Expander">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Expander" >
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="True" >
<Setter TargetName="SecondColumn" Property="ColumnDefinition.Width" Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Expander.Resources>
<ListBox >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Expander>
<TabControl Grid.Column="1" />
</Grid>
我wan't列表框展开时待观察,否则TabControl的
任何想法?
感谢您指出了这一点,但我认为我只会用这个作为最后的手段,它只是感觉像这样的黑客,我担心这可能容易折断。 – 2010-07-15 15:11:33
你可以去的另一件事是切换到由ToggleButton和Popup控件组成的虚拟扩展器自定义控件。这样弹出窗口将保证显示在那里出现的任何东西。不过,您只需自己创建控件。 – 2010-07-15 15:17:20
我会检查一下。而且我也尝试了另一种解决方案,除了担心主窗口的大小和大小,它可能没问题。猜我可以将它绑定在一起来解决这个问题。 – 2010-07-15 16:23:06