c# - How use ContextFlyout in a StackPanel in UWP? -
in gridview, trying show context menu when user right clicks item.
i tried:
<gridview.itemtemplate> <datatemplate> <stackpanel orientation="vertical" width="120" background="lightblue"> <stackpanel.contextflyout> <menuflyout> <menuflyoutitem text="change color" click="changecoloritem_click" /> </menuflyout> ...
but stackpanel.contextflyout
throws error. missing?
update
the error is: the attachable property 'contextflyout' not found in type 'stackpanel'
contextflyout property of uielement, , stackpanel derived uielement.
contextflyout property of uielement, , stackpanel derived uielement.
yes right, careful contextflyout
property available since introduced version 3.0, version 10.0.14393.0. need check api contract version , device family version.
for api contract version 1.0/2.0, @igor damiani suggested, can use flyoutbase.attachedflyout
, , can datacontext
example in righttapped
event of stackpanel
:
private void stackpanel_righttapped(object sender, righttappedroutedeventargs e) { flyoutbase.showattachedflyout(sender stackpanel); var datacontext = ((frameworkelement)e.originalsource).datacontext; }
but noticed menuflyoutitem
possible color changing, need access uielements inside stackpanel
or stackpanel
itself. if so, it's better bind color property implemented inotifypropertychanged
interface.
Comments
Post a Comment