溢出时TextBox会自动调整大小(在WPF中)

时间:2011-12-30 16:32:49

标签: c# wpf combobox textbox overflow

我正在尝试创建一个属性面板,我正在使用列表框。我不知道另一种制作动态表的方法,所以这就是我所做的:

<DataTemplate x:Key="PropertyListTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <TextBlock Text="{Binding Name}" />

            <ComboBox x:Name="combo"
                      Grid.Column="1"
                      ItemsSource="{Binding ComboItems}"
                      SelectedIndex="{Binding Value, Mode=TwoWay}" 
                      Visibility="Hidden" />

            <TextBox x:Name="text"
                     Grid.Column="1"
                     Text="{Binding Value, Mode=TwoWay}"
                     Visibility="Hidden" />
            <!-- ... More controls -->

        </Grid>
        <DataTemplate.Triggers>
            <DataTrigger Binding="{Binding TypeString}" Value="Combobox">
                <Setter TargetName="combo" Property="Visibility" Value="Visible" />
            </DataTrigger>
            <!-- ... More triggers -->
        </DataTemplate.Triggers>
    </DataTemplate>

问题在于:

Overflow

当文本框或组合框溢出时,它会自动调整大小。 如何禁用此行为?应根据父列表框的宽度调整控件的宽度...我不想要任何水平滚动条...

1 个答案:

答案 0 :(得分:5)

然后在父ListBox上关闭(禁用)水平滚动条。