2013-02-15 77 views
10

में एक ही मैं एक WPF ListBox स्टाइल है नहीं है। मैं Windows 8 के तहत विकासशील हूँ सेटअप के बाद शैली (छवि देखें) जब मैं विंडोज 7 में आवेदन का परीक्षण, मार्जिन समान नहीं है इस प्रकार हो सकता है,। आप imagen नोड्स के बीच अलगाव Windows 8 में 1px है में देख सकते हैं, लेकिन Windows 7.ListBox मार्जिन विंडोज 7 और विंडोज 8

enter image description here

में 0 पिक्सल क्या आप जानते हैं ऐसा क्यों है, और यह कैसे हल करने के लिए?

अग्रिम धन्यवाद।

+1

आप स्नूप (http://snoopwpf.codeplex.com/) का उपयोग करने के लिए यदि W7 लिस्टबॉक्स सीमा आप तय कर रहे हैं विचार कर रहा है देखने के लिए करने की कोशिश की है? –

+0

मैं एक ही समस्या है, अतिरिक्त मार्जिन स्थान स्नूप में प्रकट नहीं होता। – Andy

उत्तर

6

मैं वास्तव में इसे अपने आप से छुटकारा पाने में कामयाब रहा, ऐसा लगता है कि यह सूची दृश्य दृश्य शैली है जिसे विंडोज 8 द्वारा बदला जा रहा है, ListView के स्थानीय संसाधनों में एक शैली जोड़कर मेरे लिए काम किया है।

<ListView.Resources> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="Margin" Value="0"/> 
      <Setter Property="Padding" Value="0"/> 
      <Setter Property="BorderThickness" Value="0"/> 
     </Style> 
    </ListView.Resources> 
+0

यह बहुत अच्छा काम करता है। ऐसा प्रतीत होता है कि मेरे लिए इसे हल करने के लिए केवल पैडिंग और सीमाचित्र की आवश्यकता है। –

-1

आप एक DataContext में स्पष्ट रूप से ListBoxItem मार्जिन को सेट कर सकें। उदाहरण के लिए:

<ListBox> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}" Margin="0,0,0,1" /> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

हो सकता है क्योंकि विंडोज 7 और विंडोज 8 सूची बक्से के लिए विभिन्न शैलियों की है।

+0

मार्जिन वास्तव में मेरे लिए यह ठीक नहीं हुआ स्थापना, ऐसा लगता है कि यह एक अतिरिक्त मार्जिन कि सूची आइटम के आसपास दिखाई देता है। – Andy

+0

पैडिंग मानों और सीमा मोटाई मानों को भी सेट करने का प्रयास करें। आप सेट किए जा रहे मान देखने के लिए [snoop] (http://snoopwpf.codeplex.com/) का उपयोग कर सकते हैं। –

-1

डिफ़ॉल्ट सूचीबॉक्स Item में एक सीमा है। ListBoxItem भी एक पैडिंग निर्दिष्ट करता है जो इस सीमा द्वारा विरासत में मिला है। इसका पैडिंग डीपी जिसे एंडी ने बताया है सेट करने की जरूरत है।