2012-05-02 13 views
5

Mam następujący Xaml, który jest używany w formantu użytkownika, który był używany jako edytor wewnątrz siatki właściwości. Pytanie brzmi, co by C# wyglądać jak dołączyć zachowanie z kodu z tyłu?Zachowanie załącznika w kodzie za

<i:Interaction.Behaviors> 
    <igExt:XamComboEditorSelectedItemsBehavior SelectedItems="{Binding SelectedItems, ElementName=_uc}"/> 
</i:Interaction.Behaviors> 

Od tego jest edytor, który jest ładowany dynamicznie w PropertyGrid, właśnie zamierza utworzyć instancję edytora z wiązania z kodu tyłu zamiast mieć różne pliki XAML, które są bardzo krótkie i po prostu zawierają jednego edytora.

Albo łatwiej byłoby po prostu ponownie wdrożyć cały kod, który jest w zachowaniu i nazwać natomiast tworzę edytor w kodzie tyłu?

+0

Czy zachowania nie są tylko kolekcją przedmiotów? Jeśli tak, po prostu użyj myInteraction.Behaviors.Add (new XamComboEditorSelectedItemsBehavior {// set props}); – phixed

Odpowiedz

16
XamComboEditorSelectedItemsBehavior behavior = new XamComboEditorSelectedItemsBehavior(); 
behavior.SetBinding(XamComboEditorSelectedItemsBehavior.SelectedItemsProperty, new Binding() 
    { 
     ElementName = "_uc", 
     Path = new PropertyPath("SelectedItems"), 
     Mode = BindingMode.TwoWay 
    }); 
Interaction.GetBehaviors(yourElementName).Add(behavior) 
+4

Nie znalazłem żadnej metody SetBinding bezpośrednio na zachowanie. Zamiast tego musiałem użyć BindingOperations.SetBinding() – SwissCoder

Powiązane problemy