The Artima Developer Community
Sponsored Link

.NET Buzz Forum
WPF: Array-Bug oder ist das so gewollt?

0 replies.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a flat view of this topic  Flat View
Previous Topic   Next Topic
Threaded View: This topic has 0 replies on 1 page
-

Posts: 1524
Nickname: nitronic
Registered: Jul, 2006

Norbert Eder works as a software architect.
WPF: Array-Bug oder ist das so gewollt? Posted: Mar 25, 2008 1:11 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by -.
Original Post: WPF: Array-Bug oder ist das so gewollt?
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Latest .NET Buzz Posts
Latest .NET Buzz Posts by -
Latest Posts From Norbert Eder - Living .NET

Ressourcen sind ja doch eine häufige Angelegenheit in WPF. Klar, immerhin möchten Styles definiert werden, oder manches Mal sollte vielleicht auch ein Array definiert werden, warum auch immer. Und genau hier scheint es ein Problem zu geben.

Ich muss gleich vorweg nehmen, dass ich mich jetzt nicht auf die Suche nach einem offiziellen Bug-Eintrag gemacht habe, sondern poste dies jetzt, da es mir gerade eben aufgefallen ist. Für sachdienliche Hinweise (eine weitere Evaluierung wird meinerseits erst morgen stattfinden) bin ich natürlich dankbar.

Nehmen wir folgendes XAML (eingebettet in ein Window):
<Window.Resources>
    <Style TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="FontFamily" Value="Comic Sans MS"/>
        <Setter Property="FontSize" Value="14"/>
    </Style>

    <x:Array x:Key="MyPhotos" Type="{x:Type sys:String}">
        <sys:String>Blaue Berge.jpg</sys:String>
        <sys:String>Sonnenuntergang.jpg</sys:String>
        <sys:String>Winter.jpg</sys:String>
    </x:Array>
</Window.Resources>

<StackPanel Orientation="Vertical">
    <TextBlock Name="textblock1">My Pictures</TextBlock>
    <TextBlock>Check out my new pictures!</TextBlock>
    <ListBox 
        x:Name="PhotoBox" 
        Background="Silver" 
        SelectedIndex="0" 
        ItemsSource="{Binding Source={StaticResource MyPhotos}}"/>
</StackPanel>

Eigentlich ist alles korrekt. Das Hauptaugenmerk ist weniger auf den Style, als auf das definierte Array zu legen. Das Problem besteht darin, dass die Daten, welche durch das Array angeboten werden, in der ListBox schlichtweg nicht angezeigt werden.

Nun, das kuriose, wird das Array zu Beginn der Fenster-Ressourcen definiert, dann funktioniert es. Also so:
<Window.Resources>
    <x:Array x:Key="MyPhotos" Type="{x:Type sys:String}">
        <sys:String>Blaue Berge.jpg</sys:String>
        <sys:String>Sonnenuntergang.jpg</sys:String>
        <sys:String>Winter.jpg</sys:String>
    </x:Array>

    <Style TargetType="TextBlock">
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="FontFamily" Value="Comic Sans MS"/>
        <Setter Property="FontSize" Value="14"/>
    </Style>
</Window.Resources>

<StackPanel Orientation="Vertical">
    <TextBlock Name="textblock1">My Pictures</TextBlock>
    <TextBlock>Check out my new pictures!</TextBlock>
    <ListBox 
        x:Name="PhotoBox" 
        Background="Silver" 
        SelectedIndex="0" 
        ItemsSource="{Binding Source={StaticResource MyPhotos}}"/>
</StackPanel>


Diese Variante funktioniert tadellos. Der einzige Unterschied: Das Array wurde - wie bereits erwähnt - zu Beginn der Ressourcen definiert.

Selbst wenn dies ein gewolltes Verhalten ist, kann ich es nicht nachvollziehen. Zumal jedes beliebige Array angezeigt werden kann (egal an welcher Position), wenn die erste Definition innerhalb der Ressourcen ein Array ist. D.h. in diesem Fall kann zwischen unterschiedlichen Array-Definitionen auch ein oder mehrere Style-Elemente vorhanden sein, es funktioniert dann trotzdem.

Eigentlich verwirrend, oder nicht?

Read: WPF: Array-Bug oder ist das so gewollt?


Topic: WPF: Logischer und visueller Baum Previous Topic   Next Topic Topic: Empfehlung: Outback Steakhouse Las Vegas

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use