SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006
  • Techmoan

    Techmoan

    31 Mayıs 2009