मैं देख रहा हूं 1) क्या चल रहा है, और 2) इस मुद्दे को कैसे ठीक किया जाए।विंडोज फोन सूचीबॉक्स आइटम पृष्ठभूमि रंग बदलना भले ही यह स्पष्ट रूप से सेट हो गया है
अंक
एक ListBox आइटम ऊंचाई 2521 से ऊपर है, तो यह काला करने के लिए पृष्ठभूमि परिवर्तित करने के लिए भी जब पृष्ठभूमि स्पष्ट रूप से कुछ और करने के लिए सेट कर दिया जाता है।
पुन: पेश करने के लिए कैसे
मैं नीचे है नमूना XAML फाइल ले लो, और अपने xaml.cs में दाखिल निम्नलिखित जोड़ें:
DataContext = new List<int>() { 1 };
बदलें 2522 या उच्चतर के लिए TextBlock की ऊंचाई ।
नमूना कोड वह जगह नहीं है जहां मुझे समस्या का सामना करना पड़ा, हालांकि यह बग का प्रदर्शन करने के लिए एक साधारण उदाहरण है। मैं एक TextBlock है कि आकार में है 2522+ :)
नमूना XAML फाइल
<Grid x:Name="LayoutRoot" Background="Brown">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<phone:Pivot x:Name="pivot" Title="{Binding name}" Grid.Row="1" Foreground="White" Margin="10,0,0,0">
<phone:PivotItem x:Name="mainPivot" Header="menu" Margin="0,0,20,0">
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="White">
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Height="2521" Text="some data" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="22" Foreground="Purple"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</phone:PivotItem>
</phone:Pivot>
</Grid>
</phone:PhoneApplicationPage>
टिप्पणियां
कुछ लोगों के बारे में चिंता व्यक्त होने की योजना नहीं बना रहा हूँ मेरा यूआई उपरोक्त कोड नमूना है और मेरा वास्तविक UI नहीं है। कोई प्रदर्शन समस्या नहीं है और ListBox सुस्त नहीं है। बैकग्राउंड बदलते रंग को छोड़कर सब कुछ अपेक्षित काम करता है।
100 से अधिक TextBlocks को रोकने के लिए आक्रामक होने की कोशिश कर नहीं है, लेकिन मुझे लगता है तुम सच में समझ में नहीं आता listboxes और DataTemplates है, जब तक आप वास्तव में चाहते हैं * प्रत्येक * ListBoxItem, जिस स्थिति में आप चाहिए पुनर्विचार करें कि आप डेटा को कैसे देख रहे हैं। मुझे यह जानकर आश्चर्य नहीं होगा कि आपने डेटामैम्प्लेट में इन कई UIElements को जोड़कर कुछ प्रकार की कार्यान्वयन सीमा में भाग लिया है। विंडोज फोन 7 की एक सीमा थी कि प्रत्येक UIElement अधिकतर 2048 (या उसके करीब कुछ संख्या) पिक्सल लंबा हो सकता है, यह कुछ समान हो सकता है। मैं सलाह देता हूं कि आप ListBoxes को देखें और उन्हें कैसे पॉप्युलेट करें। – Praetorian
मेरे पास एक बहुत ही जटिल यूआई है जिसे मैंने अल्पसंख्यक के लिए इस सरल उदाहरण से आसवित किया है। मैंने शुरू में सोचा था कि ऐसा इसलिए था क्योंकि मेरे यूआई में बहुत गहराई है (एक्सएएमएल में), लेकिन यह पता चला है कि यह तत्वों की संख्या हो सकती है; या शायद आपने ऊंचाई सीमा का उल्लेख किया है।मैं यह देखने के लिए कुछ प्रयोग करूंगा कि ऊंचाई अपराधी है या नहीं। – Coltin
मैं यह स्पष्ट करने के लिए अपने प्रश्न को संशोधित करूंगा कि नमूना कोड बग को एक सरल तरीके से प्रदर्शित करता है, और यह मेरे वास्तविक कोड को बिल्कुल प्रतिबिंबित नहीं करता है। – Coltin