i have xaml form contains (i simplified code keep transparent):
<grid> <textblock grid.row="0" fontsize="20" foreground="yellow" text="{binding errormessage}"/> ... others controls ... <mediaelement x:name="mediaplayer" grid.row="0" grid.rowspan="5" grid.column="0" grid.columnspan="3" loaded="mediaplayer_loaded" loadedbehavior="manual" mediaended="mediaplayer_mediaended" source="{binding currentad.path}" /> </grid> code behind:
private void mediaplayer_loaded(object sender, system.windows.routedeventargs e) { mediaplayer.play(); } private void mediaplayer_mediaended(object sender, system.windows.routedeventargs e) { mediaplayer.position = new timespan(0, 0, 0, 0, 1); mediaplayer.play(); } as can see mediaelement shows on fullscreen when currentad object not null , plays , starts again when finishes. viewmodel contains timer elapse every 10 seconds , set errormessage property , currentad property (but when changed, method refresh() - listing below).
method datacontext:
void refresh() { try { advertisment newad = advertismentmanager.getcurrentad(); if (!newad.equals(currentad)) currentad = newad; .... errormessage = ""; } catch(exception ex) { errormessage = ex.message; } my problem every call of refresh method video player restarting itself. isn't caused change of binded currentad path. caused assign errormessage variable. didn't find similar question on web , think it's strange behavior. ideas?
Comments
Post a Comment