मैं Win10.1 के लिए Win8.1 ऐप को WinW के लिए UWP पर पोर्ट कर रहा हूं और AppBar
के साथ एक अजीब समस्या का सामना कर रहा हूं। हमने AppBar
के बजाय CommandBar
का उपयोग करने का प्रयास किया है, लेकिन समस्या अभी भी हमारे लिए होती है। हम MyToolkit के नवीनतम संस्करण (2.5.16 इस लेखन के रूप में) पर हैं। हमारे विचारों इसलिए की तरह प्राप्त कर रहे हैं:मेरा ऐपबार क्लोज़ड डिस्प्लेमोड के रूप में क्यों दिखाई देता है। वास्तविक सेटिंग के बावजूद पेज लोड पर कॉम्पैक्ट?
SomeView
MtPage
से BaseView
dervices से निकला (Page
से निकला)
तो, एक विशेष दृश्य के लिए (इस मामले में, HomeView
), XAML लगता है:
<views:BaseView
x:Name="pageRoot"
x:Class="OurApp.HomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:OurApp.Controls"
xmlns:views="using:OurApp.Views"
xmlns:viewModels="using:ViewModels"
xmlns:fake="using:ViewModels.Fake"
mc:Ignorable="d" >
<views:BaseView.TopAppBar>
<AppBar>
<controls:NavigationView
x:Name="NavigationView">
<controls:NavigationView.Context>
<viewModels:NavigationViewModel />
</controls:NavigationView.Context>
</controls:NavigationView>
</AppBar>
</views:BaseView.TopAppBar>
<!-- other stuff not relevant to AppBars, etc -->
</views:BaseView>
जहां NavigationView
एक UserControl
है जिसमें कुछ बटन हैं, और NavigationViewContext
और NavigationViewModel
वर्णन करते हैं कि कौन से बटन सक्रिय होना चाहिए, और आगे।
के बाद:
समस्याकि इस आधे खुले, आधा बंद कर दिया AppBar
उपस्थिति (लगभग लेकिन काफी वास्तव में नहीं के रूप में यदि ClosedDisplayMode
Compact
करने के लिए सेट किया गया था) तो तरह का एक तरह का परिणाम है ClosedDisplayMode="Minimal"
<AppBar>
नियंत्रण में, जैसा कि this question में बताया गया है, लाइव विज़ुअल ट्री पुष्टि करता है कि ऐपबार में IsOpen = 0
और AppBarClosedDisplayMode.Minimal
है ... लेकिन यह अभी भी स्क्रीनशॉट के रूप में अभी भी अजीब रूप से दिखाई देता है।
अजीब, उपयोगकर्ता दूर HomeView
से कुछ अन्य दृश्य पर वापस यह पर जाने के बाद अगर, AppBar
सही ढंग से AppBarClosedDisplayMode.Minimal
साथ प्रदान की गई है (!):
हम से निपटने की कोशिश की है दृश्य की NavigatedTo
घटना और मैन्युअल रूप से ClosedDisplayMode
से Minimal
पर मजबूर कर रहा है, लेकिन यह प्रस्तुत आउटपुट को प्रभावित नहीं करता है (और किसी भी मामले में, लाइव विज़ुअल ट्री पुष्टि करता है कि यह पहले से ही Minimal
पर सही ढंग से सेट हो रहा है)।
कोई विचार क्यों हो रहा है, और/या AppBar
का कारण ClosedDisplayMode = Minimal
के साथ पहले नेविगेट किए बिना प्रस्तुत किया जाए? मुझे यकीन है कि मैं शायद किसी भी तरह बलपूर्वक बल दूंगा, लेकिन मुझे लगता है कि शायद एक बेहतर तरीका है या मुझे कुछ आसान याद आ रही है।
क्या आपने एक टेम्पलेट संपादित करने और कॉम्पैक्ट व्यू भाग पर टिप्पणी करने का प्रयास किया है? – AbsoluteSith
नहीं। मुद्दा यह नहीं है कि इसे 'कॉम्पैक्ट' पर सेट किया जा रहा है - लाइव विज़ुअल ट्री इसकी पुष्टि करता है - यह है कि इसे किसी भी तरह से आधे रास्ते में प्रस्तुत किया जा रहा है, जो कि ऐसा लगता है कि यह 'कॉम्पैक्ट' पर सेट किया गया था। –
'ऐपबार' और 'कमांडबार' में दृश्य राज्यों और संबंधित एनिमेशन का विस्तृत संग्रह है। संभावना है कि उनमें से एक उस प्रभाव के लिए जिम्मेदार है जिसका आप वर्णन कर रहे हैं। यह पता लगाने की बात है कि कौन सा। देखो [यहां] (https://msdn.microsoft.com/en-us/library/windows/apps/mt299108.aspx)। – jsanalytics