2016-03-22 4 views
4

ich versucht habe, wie unten, bedingten Styling mit Konverter in style.setter zu gebenGibt es einen besseren Weg, bedingte Stile in uwp zu geben?

<Style TargetType="DataGrid"> 
     <Setter Property="Background" Value="{Binding Converter={StaticResource cc}}" /> 
    </Style> 

und kam zu wissen, dass es keine Unterstützung für die Verwendung Konverter in UWP vorgesehen ist. Also bitte jemand schlägt mir bessere Möglichkeit, bedingte Styling in UWP mit Konverter in style.setter

Antwort

3

Nein, wir haben keine Trigger Unterstützung in UWP.

Um so viel wie Licht die Auslöser von UWP und Windows Phone 8 zu halten werden durch msft entfernt. Wir könnten diejenigen erreichen, die Interactivity-Kern verwenden. Blend (IDE) hat große Unterstützung, um Trigger in diesen Technologien zu erzeugen.

Mischung ermöglicht das Definieren eines Verhaltens für die Anwendung Here.
Wir konnten

  1. DataTrigger Mit dem Datatrigger Trigger definieren, eine Aktion aufzurufen, basierend auf dem Wert eines dagetenbundenen Eigenschaft
  2. EventTrigger Verwenden der Eventtrigger Trigger eine Aktion aufzurufen, basierend auf einem Ereignis, wie eine Maus klicken, eine Seite laden oder eine andere Interaktion.
  3. KeyTrigger Verwenden Sie den KeyTrigger-Trigger, um eine Aktion aufzurufen, wenn eine Tastenkombination auf der Tastatur gedrückt wird.

Hinweis: - Das ist Auslöser für Windows Phone zur Verfügung, stellen Sie sicher, UWP hat diese Trigger in der Mischung SDK

Eine Abhilfe DataTriggerBehavior mit einem ChangePropertyAction zu verwenden ist, dies zu erreichen.

xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" x:Class="XXX_XXXX" 

Dies funktioniert für mich

<DataGrid x:Name="MyGrid" 
        Stretch="None" 
        HorizontalAlignment="Stretch" 
        VerticalAlignment="Top"> 
    <interactivity:Interaction.Triggers> 
    <ec:DataTrigger Binding="{Binding IsBackgroundBlue}" Value="True"> 
     <ec:ChangePropertyAction TargetObject="{Binding ElementName=MyGrid}" PropertyName="Background" Value="Blue" /> 
    </ec:DataTrigger> 
    <!-- You could add your conditions here /> --> 
    </interactivity:Interaction.Triggers> 
    </DataGrid> 

Pls Verstand nicht korrekte Syntax sein kann i

ähnliche Antwort in https://stackoverflow.com/a/31933556/1876572

Msdn reference von Triggern mit jetzt haben IDE nicht visuelle Zustandsmanager

+0

Es ist in Ordnung. Aber könnten Sie erklären, wie wir Stile basierend auf dem obigen Code anwenden können? d.h. Verwenden von Triggern – Divakar

+0

Für 'DataGrid'? – Eldho

+0

Ja. Es wäre hilfreich für mich – Divakar

Verwandte Themen