Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions Source/NETworkManager/Views/DNSLookupView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
<TextBlock Grid.Column="8" Grid.Row="0" Text="{x:Static localization:Strings.Type}"
Style="{DynamicResource DefaultTextBlock}" VerticalAlignment="Center" />
<ComboBox x:Name="ComboBoxTypes" Grid.Column="10" Grid.Row="0" ItemsSource="{Binding QueryTypes}"
SelectedItem="{Binding QueryType}" Width="80" HorizontalAlignment="Left" />
SelectedItem="{Binding QueryType}" Width="100" HorizontalAlignment="Left" />
<Button Grid.Column="12" Grid.Row="0" Command="{Binding QueryCommand}"
IsDefault="{Binding IsRunning, Converter={StaticResource BooleanReverseConverter}}"
HorizontalAlignment="Right">
Expand Down Expand Up @@ -148,9 +148,11 @@
Style="{DynamicResource StatusMessageTextBlock}" Margin="0,10,0,0" />
</Grid>
<TextBlock Grid.Row="2" Text="{x:Static localization:Strings.Result}" Style="{StaticResource HeaderTextBlock}" />
<controls:MultiSelectDataGrid Grid.Row="3" ItemsSource="{Binding ResultsView}"
<controls:MultiSelectDataGrid x:Name="DataGridResults" Grid.Row="3"
ItemsSource="{Binding ResultsView}"
SelectedItem="{Binding SelectedResult}"
SelectedItemsList="{Binding SelectedResults, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
SelectedItemsList="{Binding SelectedResults, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
LoadingRow="DataGridResults_LoadingRow">
<controls:MultiSelectDataGrid.Resources>
<ContextMenu x:Key="RowContextMenu" Opened="ContextMenu_Opened" MinWidth="150">
<MenuItem Header="{x:Static Member=localization:Strings.CopyDots}"
Expand Down Expand Up @@ -254,7 +256,14 @@
<DataGridTextColumn Header="{x:Static localization:Strings.Result}"
Binding="{Binding Path=(network:DNSLookupRecordInfo.Result)}"
SortMemberPath="Result"
MinWidth="200" />
MinWidth="200"
Width="*">
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</controls:MultiSelectDataGrid.Columns>
</controls:MultiSelectDataGrid>
</Grid>
Expand Down
22 changes: 22 additions & 0 deletions Source/NETworkManager/Views/DNSLookupView.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Threading;
using NETworkManager.Controls;
using NETworkManager.ViewModels;

Expand Down Expand Up @@ -31,6 +32,27 @@ private void UserControl_Loaded(object sender, RoutedEventArgs e)
_viewModel.OnLoaded();
}

// Force star-sized DataGrid columns to recompute on first row load. Without this, an
// initially empty DataGrid sizes star columns to MinWidth because the inner ScrollViewer
// measures with infinite width; only a window resize triggers a correct re-measure.
private void DataGridResults_LoadingRow(object sender, DataGridRowEventArgs e)
{
DataGridResults.LoadingRow -= DataGridResults_LoadingRow;

Dispatcher.BeginInvoke(new Action(() =>
{
foreach (var column in DataGridResults.Columns)
{
if (!column.Width.IsStar)
continue;

var width = column.Width;
column.Width = 0;
column.Width = width;
}
}), DispatcherPriority.ContextIdle);
}

private void Dispatcher_ShutdownStarted(object sender, EventArgs e)
{
_viewModel.OnClose();
Expand Down
Loading