我有一个TabControl,它有四个标签:
<TabControl>
<TabItem><TextBox/></TabItem>
<TabItem><UserControl/></TabItem>
<TabItem><Label/></TabItem>
<TabItem><Image/></TabItem>
</TabControl>
每个项目都是标准的WPF控件,但第二个是自定义的UserControl,可以有任意大小。
Textbox绑定到某些属性,但可以为空或可以包含长文本。与Label相同。
而Image总是最大的。
TabControl在Window中定义,根据选项卡的大小改变大小。
目前行为是这样的,每当我从一个标签切换到下面的标签时,窗口就会改变大小。
我很困惑哪个是获得以下内容的最佳方式:
关于如何在不必编写自定义控件的情况下实现这一目标的任何想法?
答案 0 :(得分:1)
您应该能够使用一些ElementName绑定和ScrollViewer来实现这一点:
<TabControl Name="tabControl" Height="{Binding ElementName=userControl, Path=Height}">
<TabItem Header="ONE">
<ScrollViewer Height="{Binding ElementName=tabControl,Path=Height}">
<TextBox Height="400" VerticalAlignment="Top"/>
</ScrollViewer>
</TabItem>
<TabItem Header="TWO"><UserControl Name="userControl" Height="200" Width="400" /></TabItem>
<TabItem Header="THREE"><Label/></TabItem>
<TabItem Header="FOUR"><Image/></TabItem>
</TabControl>