2016-10-10 5 views
0

Ich habe versucht, meinen eigenen IValueConverter zu verwenden, der in der Xaml-Datei deklariert wurde.Xamarin: Ich kann den IValueConverter nicht finden

Die Konverterklasse wurde im EnglishKeyboard definiert. Die Konvertierung in einem ResourceDictionary in der XAML unten erklärt. Ich habe versucht, diesen Konverter am Ende des Codes unter

<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:local="clr-namespace:ProjectorRemote" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    x:Class="ProjectorRemote.EnglishKeyboard" 
    x:Name="englishKeyboard"> 
<ContentView.Resources> 
    <ResourceDictionary> 

     <local:EnglishKeyboard.StringCaseConverter x:Key="caseConverter"> 
     </local:EnglishKeyboard.StringCaseConverter> 

     <!-- lower 1 characters --> 
     <x:String x:Key="lower_1">q</x:String> 
     <x:String x:Key="lower1_2">w</x:String> 
     <x:String x:Key="lower1_3">e</x:String> 
     <x:String x:Key="lower1_4">r</x:String>   
     <x:String x:Key="lower1_5">t</x:String> 
     <x:String x:Key="lower1_6">y</x:String> 
     <x:String x:Key="lower1_7">u</x:String> 
     <x:String x:Key="lower1_8">i</x:String> 
     <x:String x:Key="lower1_9">o</x:String> 
     <x:String x:Key="lower1_0">p</x:String> 

    </ResourceDictionary> 
</ContentView.Resources> 
<ContentView.Content> 
    <StackLayout 
      Orientation="Vertical" 
      HorizontalOptions="Fill" 
      VerticalOptions="End"> 

     <Grid HorizontalOptions="Center" ColumnSpacing="1"> 

      **<local:BaseKeyView 
       Grid.Column="0" 
       Text="{StaticResource lower1_1, 
        Converter={StaticResource caseConverter}, 
        ConverterParameter={Binding IsUpper}}"> 
      </local:BaseKeyView>** 

verwenden Sie ohne Fehler arbeiten, aber der Konverter nicht aufgerufen haben, nachdem ich auf den Code unten

geändert
<local:BaseKeyView 
       Grid.Column="0" 
       Text="{StaticResource lower1_1, 
        Converter={StaticResource caseConverter}, 
        ConverterParameter={Binding IsUpper}}"> 
      </local:BaseKeyView> 
+0

Sollbruch auf Wandler Wechsel zu prüfen, ob es ausgeführt wird –

+0

der Konstruktor meines Konverter hat aufgerufen, aber die Methode konvertieren – LittleFunny

+1

nicht nicht Sicher, wenn Konverter in einem unverbindlichen Kontext arbeiten. Sie wenden sich an eine StaticResource. – Cheesebaron

Antwort

1

ich die feste Problem durch diesen

{Binding Source={StaticResource lower1_1}, Converter={ ..... – 
Verwandte Themen