2010-03-06 14 views
6

Ich habe WPF 4-Anwendung, die eine Anzahl von UserControls hat, die Stile in ihren untergeordneten Steuerelementen freigeben. Also erstelle ich eine Reihe von Stilen in meiner App.xaml als. Zum Beispiel:Die Ressource konnte nicht aufgelöst werden (VS 2010 RC)

<Style x:Key="ViewTitle" TargetType="{x:Type Border}"> 
    <Setter Property="BorderBrush" Value="LightGray" /> 
    <Setter Property="HorizontalAlignment" Value="Stretch" /> 
    <Setter Property="VerticalAlignment" Value="Top" /> 
</Style> 

Da ist in meinem Benutzersteuerelement verwende ich Static sie zu verweisen, zum Beispiel:

<Border Style="{StaticResource ViewTitle}"> 
    <TextBlock Margin="6,3,4,5" FontSize="18" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left" Text="Host Management" /> 
</Border> 

Das alles funktioniert gut. Das Problem ist, dass Visual Studio 2010 RC einen blauen Squiggly unter der StaticResource-Referenz platziert und sagt: Die Ressource "ViewTitle" konnte nicht aufgelöst werden.

Was ist los? Ist das ein Problem mit Visual Studio oder mache ich etwas falsch?

+0

Haben Sie einen Fehler bei der Kompilierung erhalten oder Laufzeit, oder nur die blaue Squiggly? Wenn es nur die blaue Squiggly ist, und alles zur Laufzeit gut funktioniert, würde ich es als Designer scheitern. – itowlson

+0

Yeah nur ein Designer Squiggly. Es baut und läuft gut. Ich bin neu in WPF so Ich war misstrauisch Ich habe es falsch gemacht – BrettRobi

+0

Ich habe das gleiche Problem auch :( –

Antwort

10

Aus Ihrer Notiz in den Kommentaren, dass "es baut und läuft gut", ist dies fast sicher ein Problem mit Visual Studio. Unglücklicherweise ist der VS WPF-Entwickler infamous buggy und wird oft nicht in der Lage sein, ein perfektes legales XAML aufzulösen oder zu behandeln. Der einzig wahre Test ist also kompilieren und laufen: nervig, aber eben etwas, mit dem man leben kann.

Sie können finden, dass der Expression Blend-Designer diese Situation besser behandelt. Blend zielt mehr darauf ab, ein visueller Designer zu sein (Grafikdesigner sind die Hauptzielbenutzer), aber Blend 3 hat die Unterstützung für die Bearbeitung von XAML-Quellcode erheblich verbessert. Es kann einen Versuch wert sein.

1

Dieses Problem wurde „gelöst“ in Expression Blend 4.

Mischung 4 gibt Ihnen automatisch die Möglichkeit, Design-Zeit-Ressourcen lokalisieren, wenn Sie eine Ressource, die noch gelöst werden könnten.

Mischung erstellt dann ein DesignTimeResourceDictionary, von dem aus auf Ihre Ressourcen zugegriffen wird.

Doch dies wird nicht viel helfen, wenn VS2010 Ihr Haupt Editor ist :(

Die Lösung mit Mischung 4:

http://adamkinney.wordpress.com/2010/05/04/design-time-resources-in-expression-blend-4-rc/

Verwandte Themen