Wiem, jak działa funkcja columndefinition w XAML, ale jest coś, co chcę zrobić i nie wiem jak.Szerokość kolumn XAML szerokość * brak dostępu do wolnej przestrzeni
Chcę 4 kolumny tak:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
- kolumna ma stałą szerokość
- kolumna musi wziąć całą dostępną przestrzeń (tak to jest między kolumnami i to jest właśnie problem)
- kolumna ma stałą szerokość
- kolumna ma ustaloną szerokość
Druga kolumna zawiera tekst, a problem polega na tym, że gdy tekst jest za krótki, druga kolumna nie zajmuje całego dostępnego miejsca. automatycznie maleje i to dla każdego rzędu. Mogę zrobić to praca z tym kodem w textblock:
MinWidth="2000"
Ale to nie jest dobry sposób, ponieważ liczba ta może być zbyt niska, gdy ekran jest duży.
Oto cała ListView zawierający 4 kolumny:
<ListView Grid.Row="1" Grid.ColumnSpan="4" ItemsSource="{Binding blabla}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="110" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<Image Height="110" Width="110" Grid.Column="0" Source="{Binding blabla}" HorizontalAlignment="Stretch" />
<TextBlock Text="{Binding blabla}" TextWrapping="Wrap" Margin="5,0,0,0" Grid.Column="1" FontSize="16" HorizontalAlignment="Stretch" TextAlignment="Left" FlowDirection="LeftToRight" MinWidth="2000" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" FontStretch="UltraCondensed"/>
<TextBlock Grid.Column="2" TextWrapping="Wrap" Foreground="Black" Margin="5,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
<Image Source="{Binding blabla, Converter={StaticResource ImgConverter}}" Grid.Column="3" Width="76" Height="76" HorizontalAlignment="Center" Stretch="None" VerticalAlignment="Center" Margin="0"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Rzeczywiście sprawdź szerokość kontroli nadrzędnej. To nie będzie ustawione na pełną szerokość, jakiej się spodziewałeś. – loop
Co masz na myśli? jaka kontrola nad rodzicem? – XHotSniperX
Niestety nie można tego wyraźnie wyrazić. Ale czy możesz po prostu zbadać, w jakim obszarze Siatka bierze udział w Projektancie. – loop