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

  • RealPapaPit

    RealPapaPit

    16 Mart 2009
  • whatever

    whatever

    30 EYLÜL 2005
  • Xbox

    Xbox

    1 Kasım 2005