2011-12-30 37 views
0

我想創建一個屬性面板,並且使用了一個列表框。我不知道做一個動態表的另一種方式,所以這是我做過什麼:TextBox在溢出時自動調整大小(在WPF中)

<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

當文本框或組合框溢出,自動調整大小。 如何禁用此行爲?控件的寬度應根據父列表框的寬度進行調整...我不想要任何水平滾動條...

回答

5

然後在父列表框上關閉(禁用)水平滾動條。

+0

哇,這是意想不到的容易......我認爲必須做更復雜的事情,禁用水平滾動條只會隱藏它們......好吧,非常感謝。 – Tibi 2011-12-30 17:42:40

+0

OP的問題中的父列表框在哪裏? – Legends 2016-08-10 22:00:46

相關問題