Skip to content

Commit 4d3692a

Browse files
committed
fix virtualisation if a SelectedItem is bound wo a combobox #119
1 parent 89e6825 commit 4d3692a

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

MainDemo.Wpf/Domain/TextFieldsViewModel.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Linq;
55
using System.Runtime.CompilerServices;
66
using System.Runtime.InteropServices;
7+
using System.Security.Cryptography.X509Certificates;
78
using System.Text;
89
using System.Threading.Tasks;
910

@@ -14,10 +15,13 @@ public class TextFieldsViewModel : INotifyPropertyChanged
1415
private readonly IList<int> _longListToTestComboVirtualization;
1516

1617
private string _name;
18+
private int _selectedValueOne;
1719

1820
public TextFieldsViewModel()
1921
{
20-
_longListToTestComboVirtualization = new List<int>(Enumerable.Range(0, 1000));
22+
_longListToTestComboVirtualization = new List<int>(Enumerable.Range(0, 1000));
23+
24+
SelectedValueOne = _longListToTestComboVirtualization.Skip(2).First();
2125
}
2226

2327
public string Name
@@ -30,6 +34,16 @@ public string Name
3034
}
3135
}
3236

37+
public int SelectedValueOne
38+
{
39+
get { return _selectedValueOne; }
40+
set
41+
{
42+
_selectedValueOne = value;
43+
OnPropertyChanged();
44+
}
45+
}
46+
3347
public IList<int> LongListToTestComboVirtualization => _longListToTestComboVirtualization;
3448

3549
public event PropertyChangedEventHandler PropertyChanged;

MainDemo.Wpf/TextFields.xaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
66
xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf;assembly=MaterialDesignThemes.Wpf"
77
xmlns:wpfExample="clr-namespace:MaterialDesignColors.WpfExample"
8+
xmlns:domain="clr-namespace:MaterialDesignColors.WpfExample.Domain"
89
mc:Ignorable="d"
9-
d:DesignHeight="300" d:DesignWidth="600" Loaded="UserControl_Loaded">
10+
d:DesignHeight="300" d:DesignWidth="600" Loaded="UserControl_Loaded"
11+
d:DataContext="{d:DesignInstance domain:TextFieldsViewModel, d:IsDesignTimeCreatable=False}">
1012
<UserControl.Resources>
1113
<ResourceDictionary>
1214
<ResourceDictionary.MergedDictionaries>
@@ -132,8 +134,9 @@
132134

133135
<StackPanel Grid.Row="4" Grid.Column="4" Orientation="Horizontal">
134136
<ComboBox wpf:TextFieldAssist.Hint="Virtualisation"
135-
HorizontalAlignment="Left" Margin="16 0 0 0"
136-
ItemsSource="{Binding LongListToTestComboVirtualization}">
137+
HorizontalAlignment="Left" Margin="16 0 0 0"
138+
ItemsSource="{Binding LongListToTestComboVirtualization}"
139+
SelectedValue="{Binding SelectedValueOne}">
137140
<ComboBox.ItemsPanel>
138141
<ItemsPanelTemplate>
139142
<VirtualizingStackPanel />

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ComboBox.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
<Condition Property="Tag" Value="1.0"/>
125125
<Condition Property="IsSelected" Value="True"/>
126126
</MultiTrigger.Conditions>
127-
<Setter Property="Visibility" Value="Collapsed"/>
127+
<Setter Property="Height" Value="0"/>
128128
</MultiTrigger>
129129
</ControlTemplate.Triggers>
130130
</ControlTemplate>

0 commit comments

Comments
 (0)