Ho un ResourceDictionary
che contiene le stringhe:Come dichiarare una stringa vuota in XAML ResourceDictionary
<ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String x:Key="Foo">Hello world</sys:String>
...
</ResourceDictionary>
Questo dizionario è parte di un tema, e in alcuni temi, alcune delle stringhe sono vuote:
<sys:String x:Key="Foo"></sys:String>
Il guaio è che in quel caso, ho un XamlParseException
:
Impossibile creare l'oggetto di tipo ' System.String'. CreateInstance fallito, che può essere causato da non avere un costruttore predefinito pubblico per 'System.String'
So che è possibile dichiarare una stringa vuota in una risorsa array, utilizzando <x:Static Member="sys:String.Empty" />
, ma I don' t voglio un array ... Usando x:Static
direttamente come la risorsa restituisce l'estensione markup, non la stringa. Inserendo x:Static
nell'elemento sys:String
si ottiene lo stesso errore di prima.
È persino possibile dichiarare una stringa vuota come risorsa XAML? Come?
Hai ragione ... Probabilmente ho incasinato da qualche parte quando ho provato. Grazie! –
Tuttavia, non funziona in Xaml .. se si prova qualcosa come ' ' si riceve un errore dicendo ** Un oggetto del tipo StaticExtension non può essere applicato a una proprietà che si aspetta il tipo System.String ** –
Hmm, il progettista stava dando quell'errore. Ho provato una ricostruzione e l'errore è scomparso. Cambiando la chiave, costruendola, cambiandola di nuovo e costruendola, l'errore si ripresenta e dopo la prossima build è sparito di nuovo. Solo un errore di progettazione sembra .. +1 –