顯然,在使用SharedSizeGroup時,不能使用星號大小(*)。這已經在這裏討論: Grid's SharedSizeGroup and * sizingItemsControl with SharedSizeGroup AND stretch
不幸的是,在這個討論中,他們並沒有真正提供可行的解決方案。
我想顯示一個列表控件,每行一個控制,具有以下佈局:
(名稱)(輸入文本)(X按鈕)
它應該是這樣的:
Description [ ] X
Name [ ] X
ID [ ] X
但不是我越來越
Description [] X
Name [] X
ID [] X
第1欄應儘可能寬的LON gest詞。第2列(即條目文本框)應該伸展以填充所有剩餘空間(*),但不能像前面討論的那樣用於SharedSizeGroup。該*被視爲自動,因此不可伸縮。
任何想法?這裏的XAML:
<ItemsControl ItemsSource="{Binding FilterList}" Margin="5,0,5,0" Grid.IsSharedSizeScope="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="5,0,5,0" HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="Column0" Width="Auto"/>
<ColumnDefinition SharedSizeGroup="Column1" Width="*"/>
<ColumnDefinition SharedSizeGroup="Column2" Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="{Binding FilterLabel}" HorizontalAlignment="Right"/>
<TextBox Grid.Column="1" Height="20" Text="{Binding FilterString, UpdateSourceTrigger=PropertyChanged}"/>
<Button Grid.Column="2" Content=" X " Margin="2" Visibility="{Binding ClearFilterVis}" Command="{Binding ClearFilterCommand}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
第二列:' '將佔用所有可用空間。在這種情況下,你不需要sharedsizegroup,也不需要''''' –
試過。我仍然遇到上述問題。它正在縮小,只佔用空白文本框所佔用的空間,這並不多。換句話說,它就像第一列一樣。 – NielW