26 Mayıs 2011, PERŞEMBE
Nasıl WPF combobox denetimi için bir numaralama bağlamak için?
Çeteleler gibi gösterildiği basit bir örnek bulmaya çalışıyorum. Gördüğüm bütün örnekler güzel görünen dizeleri eklemek için çalışır ama bu karmaşıklık istemiyorum.
Temelde xaml dosyasında önce bu sınıf için DataContext ayarı, ve sonra bu gibi bağlama belirterek ben bağlama,: tüm özelliklerini taşıyan bir Dersim var
<ComboBox ItemsSource="{Binding Path=EffectStyle}"/>
Ama bu öğeleri olarak ComboBox
numaralandırma değerleri göstermiyor.
CEVAP
26 Mayıs 2011, PERŞEMBE
Pencere Loaded
olay işleyicisi, örneğin aşağıdaki kodu girerek kod olabilir
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
Eğer XAML ilişkilendirmek gerekirse ObjectDataProvider
nesne bağlama kaynağı olarak kullanılabilir oluşturmak için kullanmanız gerekir:
<Window x:Class="YourNamespace.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects">
<Window.Resources>
<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="StyleAlias:EffectStyle"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
SelectedItem="{Binding Path=CurrentEffectStyle}" />
</Grid>
</Window>
Bir sonraki kod üzerinde dikkat çekmek:
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
Göster ad ve montaj için MSDN okumak rehberi.
Bunu Paylaş:
Nasıl ASP.NET DropDownList denetimi iç...
Nasıl bir numaralama için RadioButtons...
Nasıl özel bir dize ile numaralama bağ...
nasıl bir combobox için bir liste bağl...
Nasıl bir denetimi çift tıklatın olay ...