G'day!Bir WPF ComboBox, seçimi boş olduğunda alternatif metni görüntüleyebilir mi?
WPF ComboBox
ürünümün, veriye bağlı seçimi null
olduğunda bazı alternatif metinleri göstermesini istiyorum.
public ThingoSelectionViewModel : INotifyPropertyChanged {
public ThingoSelectionViewModel(IProvideThingos) {
this.Thingos = IProvideThingos.GetThingos();
}
public ObservableCollection<Thingo> Thingos { get; set; }
public Thingo SelectedThingo {
get { return this.selectedThingo; }
set { // set this.selectedThingo and raise the property change notification
}
// ...
}
görünüşüdür XAML beklenen şekilde görünüşüdür modeline, bağlanma:
görünüşüdür modeli beklenen özelliklere sahip
<ComboBox x:Name="ComboboxDrive" SelectedItem="{Binding Path=SelectedThingo}"
IsEditable="false" HorizontalAlignment="Left" MinWidth="100"
IsReadOnly="false" Style="{StaticResource ComboboxStyle}"
Grid.Column="1" Grid.Row="1" Margin="5" SelectedIndex="0">
<ComboBox.ItemsSource>
<CompositeCollection>
<ComboBoxItem IsEnabled="False">Select a thingo</ComboBoxItem>
<CollectionContainer
Collection="{Binding Source={StaticResource Thingos}}" />
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
ComboBoxItem
bir yol için üst içine sıkışmış üstte ekstra bir öğe olsun. Bu saf krom: görünüm modeli saf ve basit kalır. Sadece bir problem var: Kullanıcılar, ComboBox 'seçiminin null olduğu her zaman "Selecto thingo" seçeneğini gösterir.
Kullanıcılar 'u yapmıyorlar, varsayılan olarak bir şey seçmek istiyorlar. Bir şey seçmelerini söyleyen bir mesaj görmek istiyorlar.
Ben ToString
yöntem ben Thingos
doldurmak her Thingo
sarma, onun .ActualThingo
özelliğinin null olması durumunda "Bir thingo seç" dönen bir ThingoWrapper
sınıfı ile ViewModel kirletme zorunda kalmamak ister ve bir yolunu bulmaktan ediyorum kullanıcının nulled Thingo
seçmesini engellemek.
ComboBox
'sınırlarında, saf XAML veya salt XAML ve görünümün arkadaki kod sınıfında birkaç satırlık kod kullanarak "bir şey seç" seçeneği var mı?
FWIW: Ben sarılmış boş değerin seçimi ile başa çıkmak için ThingoSelectionViewModel değiştirme ve otomatik olarak seçmek için yollar bulmak, ThingoWrapper uygulanması sona erdi Whatsy ve Fadoozamy nesneleri böylece onları sarmak zorunda kalmadım. –