8

का उपयोग करके फ्लाईआउट दिखाएं मैं एक साधारण फ्लाईआउट (सूचनात्मक सामग्री के साथ) दिखाने की कोशिश कर रहा हूं, जब BottomAppBar के भीतर एक AppBarToggleButton दबाया जाता है, लेकिन मेरा समाधान काम नहीं करता है। :(BottomAppBar

यह मेरा कोड है:

<Page.BottomAppBar> 
     <CommandBar> 
      <AppBarToggleButton x:Uid="MapPageAppBarLegend" Label="" Icon="List"> 
       <FlyoutBase.AttachedFlyout> 
        <Flyout> 
         <TextBlock Text="Informations here..."/> 
        </Flyout> 
       </FlyoutBase.AttachedFlyout> 
      </AppBarToggleButton> 
     </CommandBar> 
</Page.BottomAppBar> 

कुछ भी नहीं दिखाई देता है .. किसी को भी इस flayout दिखा करने के लिए मेरी मदद कर सकते मेरी अंग्रेजी भाषा के लिए बहुत ज्यादा है और खेद धन्यवाद :)

Pame?।

+0

हो सकता है कि [इस सवाल] (http://stackoverflow.com/q/23326717/2681948) होगा आपकी मदद। – Romasz

+0

@Romasz धन्यवाद, लेकिन मैं AppBarToggle बटन पर फ़्लैउट दिखाऊंगा, ऐपबार बटन में क्लिक नहीं करता .. और मैं ऐपबार बटन के लिए उपयोग नहीं किया जा सकता .. मुझे नहीं पता कि अंत में दोनों बटन क्यों हैं .. – Pame1692

+0

सोचा, मैंने इस के साथ बहुत कुछ नहीं खेला है, मुझे लगता है कि अगर कोई अन्य प्रदान नहीं किया गया है तो एक समाधान हो सकता है [उस प्रश्न का उत्तर] (http://stackoverflow.com/a/23523126/2681948) - शो अपने बटन घटना पर फ्लाईआउट। क्या आपने ऐसा करने की कोशिश की है? – Romasz

उत्तर

9

सब कुछ काफी स्पष्ट रूप at MSDN वर्णन किया गया है (वहाँ भी है वहाँ एक बहुत अच्छा उदाहरण):

कुछ भी नहीं एप्लिकेशन कान, क्योंकि Flyouts स्वचालित रूप से केवल बटन के लिए खोलने के (और AppBarToggleButtonButton वर्ग से निकाले जाते हैं नहीं है):

एक बटन से जुड़ी एक flyout खोलता है स्वचालित रूप से जब उपयोगकर्ता बटन पर क्लिक करता। फ्लाईआउट खोलने के लिए आपको किसी भी घटना को संभालने की आवश्यकता नहीं है। (यह बेशक आप किसी भी FrameworkElement करने के लिए एक Flyout जोड़ सकते हैं, बटन से प्राप्त AppBarButton

तरह नियंत्रण शामिल है, लेकिन आप मैन्युअल रूप से इसे खोलने के लिए करना होगा:

आप किसी भी FrameworkElement करने के लिए एक Flyout नियंत्रण संलग्न कर सकते हैं । FlyoutBase.AttachedFlyout जुड़ी संपत्ति का उपयोग करके वस्तु यदि आप ऐसा करते हैं, तो आप इस तरह के टेप घटना के रूप में FrameworkElement, पर एक बातचीत का जवाब देना होगा, और अपने कोड में Flyout खोलने

XAML में -। परिभाषित संसाधन में अपने Flyout और बटन के लिए देते: पीछे कोड में

<Page.Resources> 
    <Flyout x:Key="myFlyout" Placement="Top"> 
     <TextBlock Text="Informations here..."/> 
    </Flyout> 
</Page.Resources> 
<Page.BottomAppBar> 
    <CommandBar> 
     <AppBarToggleButton x:Uid="MapPageAppBarLegend" Label="First" Icon="List" 
          FlyoutBase.AttachedFlyout="{StaticResource myFlyout}" 
          Click="AppBarToggleButton_Click"/>     
    </CommandBar> 
</Page.BottomAppBar> 

और घटना:

private void AppBarToggleButton_Click(object sender, RoutedEventArgs e) 
{ 
    FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender); 
} 
+0

आपको बहुत बहुत धन्यवाद! अब यह पूरी तरह से काम करता है! :) धन्यवाद! – Pame1692