2011-06-11 16 views
6

मेरी स्थिति निम्न की तरह है।डब्ल्यूपीएफ में, क्या एक शैली के लिए दो स्टाइल को गठबंधन करने का कोई तरीका है?

मैं एक App.xaml जो इस तरह ListView के लिए शैली में शामिल है:

<Style x:Key="{x:Type ListViewItem}" TargetType="ListViewItem"> 
    <Setter Property="SnapsToDevicePixels" Value="true"/> 
    <Setter Property="OverridesDefaultStyle" Value="true"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ListBoxItem"> 
       ... 

हालांकि, मैं एक और XAML में कुछ शैलियों जोड़ने चाहते हैं, चलो इस तरह Window.xaml में कहते हैं:

<ListView AlternationCount="2" Background="#FFECECEC"> 
    <ListView.Resources> 
     <Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}"> 
      <EventSetter Event="PreviewMouseDoubleClick" Handler="OnPreviewMouseDoubleClick" /> 
     </Style> 
    </ListView.Resources> 
</ListView> 

तो, मैं जो करना चाहता हूं वह डिफ़ॉल्ट शैली के रूप में App.xaml में बेस डिज़ाइन के लिए शैली को परिभाषित करता है। फिर, कुछ संशोधनों को जोड़ें जैसे संदर्भ मेनू जोड़ना, प्रत्येक xaml से ईवेंट जोड़ना।

लेकिन, उपरोक्त कार्यान्वयन के साथ, App.xaml में परिभाषित शैली विंडो.एक्सएएमएल में परिभाषित शैली द्वारा ओवरराइट की जाएगी।

क्या इस मुद्दे को हल करने और इसे प्राप्त करने का कोई तरीका है?

<Style x:Key="Style1"> 
... 
</Style> 

<Style x:Key="Style2" BasedOn="{StaticResource Style1}"> 
... 
</Style> 

Btw: <Style x:Key="{x:Type ListViewItem}" थोड़ा अजीब लगता है

+0

कृपया पढ़ें कि टैग [कोडिंग-शैली] का विवरण क्या है (http://stackoverflow.com/tags/coding-style/info) कहता है और उचित कार्रवाई करता है। धन्यवाद! –

उत्तर

9

शैलियाँ एक BasedOn संपत्ति है। x:Key एक xaml शब्दकोश में एक अनूठी कुंजी होना चाहिए - आमतौर पर एक स्ट्रिंग।

+0

आपके त्वरित उत्तर के लिए बहुत बहुत धन्यवाद। ओह, यह सच है। एक्स: कुंजी भी अजीब है। बहुत बहुत धन्यवाद। :) – Aki24x

2

यदि आधारितऑन विशेषता आपकी आवश्यकताओं के अनुरूप है, तो यह सबसे अच्छा विकल्प है। हालांकि अधिक जटिल परिदृश्यों के लिए, the solution referred to in this question जैसे कुछ अधिक लचीला है।

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

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