2012-05-02 28 views
5

Tôi có Xaml sau được sử dụng trong điều khiển người dùng được sử dụng làm trình chỉnh sửa bên trong lưới thuộc tính. Câu hỏi đặt ra là, C# trông như thế nào để đính kèm một hành vi từ mã phía sau?Đính kèm hành vi trong mã sau

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

Do đây là trên một trình soạn thảo được nạp tự động trong một PropertyGrid, tôi chỉ cần đi để tạo ra một thể hiện của các biên tập viên với ràng buộc từ mã đằng sau thay vì phải có các file XAML khác nhau mà là thực sự ngắn và chỉ chứa một trình soạn thảo.

Hoặc sẽ dễ dàng hơn khi đơn giản thực hiện lại tất cả mã trong Hành vi và gọi nó trong khi tôi đang tạo trình chỉnh sửa trong mã phía sau?

+0

Hành vi không chỉ là một ItemCollection? Nếu vậy, chỉ cần sử dụng myInteraction.Behaviors.Add (new XamComboEditorSelectedItemsBehavior {// set props}); – phixed

Trả lời

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

Tôi không tìm thấy bất kỳ phương pháp SetBinding trực tiếp trên hành vi. Thay vào đó tôi phải sử dụng BindingOperations.SetBinding() – SwissCoder

Các vấn đề liên quan