2011-05-12 15 views
7

मैंने कुछ अन्य सिल्वरलाइट 'बनाम' प्रश्नों को चारों ओर देखा है, लेकिन इस विशेष मैच-अप के लिए कोई भी नहीं मिला।डेटा टेम्पलेट बनाम ItemContainerStyle

मैं जिस तरीके से मेरी ऑब्जेक्ट ListBox पर प्रदर्शित करता हूं, उसे परिभाषित करने की कोशिश कर रहा हूं। मैंने DataTemplate परिभाषित किया है, लेकिन मुझे सच में यकीन नहीं है कि यह कहां समाप्त होना चाहिए और ItemContainerStyle प्रारंभ होना चाहिए।

प्रश्न 1: ItemContainerStyle सिर्फ एक तो DataTemplate के लिए आवरण है कि एक आम आइटम शैली अलग डेटा लेआउट के लिए लागू किया जा सकता है?

प्रश्न 1 क: यदि हां, तो घटना है कि एक आम आइटम शैली की आवश्यकता नहीं है में, ItemContainerStyle भी आवश्यक या सभी लेआउट और स्टाइल DataTemplate में परिभाषित किया जा सकता है?

प्रश्न 1b: यदि नहीं, so what is it?

ListBox वर्तमान में इस तरह है:

<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/> 

XAML मेरी DataTemplate के लिए इस तरह है:

<DataTemplate x:Key="TaskDataTemplate"> 
     <Grid d:DesignHeight="95" Height="150"> 
      <StackPanel Margin="11,8,-10,68" Orientation="Horizontal" d:LayoutOverrides="Width"> 
       <TextBlock x:Name="TaskLabel" Margin="0,0,0,8" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="Task" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/> 
       <TextBlock x:Name="TaskID" HorizontalAlignment="Right" Margin="10,0,0,0" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="TaskID" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/> 
       <TextBlock x:Name="ChangeList" Style="{StaticResource NormalText}" TextWrapping="Wrap" Text="Changes..." Margin="30,2,0,0"/> 
      </StackPanel> 
      <ComboBox x:Name="TaskType" Style="{StaticResource TaskComboBox}" Height="29" VerticalAlignment="Top" Margin="131,30,16,0" d:LayoutOverrides="VerticalAlignment"/> 
      <TextBlock x:Name="TaskTypeLabel" Margin="12,39,0,0" Style="{StaticResource NormalTextBold}" TextWrapping="Wrap" Text="Variation Reason" VerticalAlignment="Top" HorizontalAlignment="Left" Height="21"/> 
      <TextBox x:Name="TaskDescription" Margin="12,70,15,11" TextWrapping="Wrap" Text="Enter description..." Style="{StaticResource TaskTextBox}" d:LayoutOverrides="VerticalAlignment"/> 
     </Grid> 
    </DataTemplate> 

धन्यवाद।

उत्तर

7

उत्तर 1: हाँ

उत्तर 1 क: जहाँ तक मैं बता सकता ItemTemplate में अपने सभी स्टाइल कर सकते हैं लेकिन ItemContentStyle VisualStates जो/विकलांग/चयनित आदि

पर माउस पर अस्पष्टता को नियंत्रित है

यदि आप उन अस्पष्टता परिवर्तनों को बदलना चाहते हैं, या यदि आप एक आयताकार के अलावा किसी भी कंटेनर आकार चाहते हैं, उदाहरण के लिए त्रिकोण की तरह, तो आपको डिफ़ॉल्ट ItemContainerStyle को ओवरराइड करना होगा।

+0

अच्छा एक, टा। मैं ItemContentTemplate द्वारा मानता हूं आपका मतलब आइटमकंटनर स्टाइल है? – Town

+0

हाँ, संपादित किया गया। धन्यवाद – BenCr

+0

इसके अलावा, कंटेनर आकार के लिए मैं अपने डेटा टेम्पलेट की सामग्री को सीमा में समूहित करने में सक्षम हूं और उस पर गोल कोने वाले हैं? क्या यह केवल जटिल आकार है जिसके लिए आइटमकंटनर स्टाइल के उपयोग की आवश्यकता होगी? – Town

संबंधित मुद्दे