Windows Vista Forums

WPF user controls interacting with each other
  1. #1


    Eps Guest

    WPF user controls interacting with each other

    Hi,



    I am writing an mp3 player using wpf, I have three user controls (media
    library, media controls and a playlist). Obviously I need these to
    interact with each other, I assume the best way to do this is to use
    events right ?.

    Can I raise an event on one user control and have one of the others
    suscribe to it ? or do I need to have the main window suscribe to it and
    then pass the message on to the target user control ?.

    Any advice appreciated.

    --
    Eps

      My System SpecsSystem Spec

  2. #2


    Serge Baltic Guest

    Re: WPF user controls interacting with each other

    Hello,

    > I am writing an mp3 player using wpf, I have three user controls
    > (media library, media controls and a playlist). Obviously I need
    > these to interact with each other, I assume the best way to do this is
    > to use events right ?.
    I don't think the controls should be interacting with each other at all.

    Besides the controls, the program should have a data model — some kind of
    data structures for the media library, one section of which represents a
    playlist, and the current status of the player. The controls reflect the
    current state of the data model by the means of databinding, and they change
    the model with databinding and commanding. They do not have to know anything
    of each other, or of the window they belong to.

    (H) Serge



      My System SpecsSystem Spec

  3. #3


    Eps Guest

    Re: WPF user controls interacting with each other

    Serge Baltic wrote:

    > I don't think the controls should be interacting with each other at all.
    >
    > Besides the controls, the program should have a data model — some kind
    > of data structures for the media library, one section of which
    > represents a playlist, and the current status of the player. The
    > controls reflect the current state of the data model by the means of
    > databinding, and they change the model with databinding and commanding.
    > They do not have to know anything of each other, or of the window they
    > belong to.
    >
    > (H) Serge
    I have a datable in the medialibrary control that contains (amongst
    other things) the path of every song. Are you suggesting I create a new
    object which encapsulates the datatable as well as exposing more
    properties (like the play/pause/stop status and the current song, etc.)

    I guess all the controls could then just bind to relevent properties of
    the object.

    I have played about a bit with data binding, how do you go about binding
    to an objects property ?.

    --
    Eps


      My System SpecsSystem Spec

  4. #4


    Serge Baltic Guest

    Re: WPF user controls interacting with each other

    Hello,


    > I have a datable in the medialibrary control that contains (amongst
    > other things) the path of every song. Are you suggesting I create a
    > new object which encapsulates the datatable as well as exposing more
    > properties (like the play/pause/stop status and the current song,
    > etc.)
    There're built-in means for binding to databases, their specific queries
    and views. That fits nicely into the task of presenting the media library,
    which is basically a database view. The only extra information you need is
    the current selection, which affects the Play action.

    > I guess all the controls could then just bind to relevent properties
    > of the object.
    Yes. The object gives out the database connection, which gets presented as
    a list, gets back the selection info, handles play/stop/pause commands. Logically,
    the database object and the playback object should better be separate entities,
    but that's an implementation detail.

    > I have played about a bit with data binding, how do you go about
    > binding to an objects property ?.
    The "{Binding}" markup extension has a source and a path relative to the
    source. If the source is the object itself, then the path is just the property
    name. The source can be specified either in the binding itself or by setting
    the DataContext attribute on some containing XAML element.

    (H) Serge



      My System SpecsSystem Spec

WPF user controls interacting with each other problems?

Similar Threads
Thread Thread Starter Forum Replies Last Post
User account controls Larry S. Vista security 1 13 Nov 2007
User Account Controls Larry S. Vista security 9 25 Oct 2007
WPF user controls without XAML Cairn Avalon 2 12 Apr 2007
Using StackPanel and User Controls Jay Avalon 1 23 Mar 2007
User controls in a ControlTemplate Griff Avalon 1 26 May 2006