2010-03-09 7 views
6

का उपयोग कर टूलबार बटन आकार सेट करना मेरे पास WPF में टूलबार पर बटन हैं।स्टाइल

जब मैं XAML कार्य करें: उपकरण पट्टी पर बटन के

<ToolBar.Resources> 
    <Style TargetType="{x:Type Button}"> 
     <Setter Property="Width" Value="21"></Setter> 
     <Setter Property="Height" Value="21"></Setter> 
    </Style> 
</ToolBar.Resources> 

कोई भी उसके अनुसार अपने आकार निर्धारित किया है।

मैं प्रत्येक बटन के पास जाओ और मैन्युअल रूप से वांछित मूल्यों के प्रति उनकी चौड़ाई और ऊंचाई सेट करना होगा।

किसी भी विचार क्यों उपकरण पट्टी पर शैली काम नहीं करता है?

उत्तर

8

ऐसा इसलिए होता है क्योंकि टूलबार टूलबार द्वारा पहचाने जाने वाली शैली को लागू करता है। बटन स्टाइलकी को डिफ़ॉल्ट शैली के साथ छोड़ने के बजाय बटन पर लागू होता है। (यही कारण है कि उपकरण पट्टियाँ में बटन फ्लैट भले ही डिफ़ॉल्ट शैली उठाया है हैं।) आप इस शैली "अपहरण" की जरूरत है, डिफ़ॉल्ट शैली के बजाय:

<ToolBar.Resources> 
    <Style x:Key="{x:Static ToolBar.ButtonStyleKey}" TargetType="Button"> 
    <Setter Property="Width" Value="100" /> 
    </Style> 
</ToolBar.Resources> 

नोट एक्स: शैली घोषणा में कुंजी।

2

यदि आप अपने टूलबार में हार्डकोड किए गए बटन जोड़ रहे हैं, तो आप अपने इच्छित प्रभाव प्राप्त करने के लिए टूलबार.इटम कॉन्टैनेटर स्टाइल को एक कस्टम शैली में सेट कर सकते हैं।

<ToolBar.ItemContainerStyle> 
    <Style 
     TargetType="Button"> 
     <Setter 
      Property="Width" 
      Value="21" /> 
     <Setter 
      Property="Height" 
      Value="21" /> 
    </Style> 
</ToolBar.ItemContainerStyle> 

आप ToolBar.ItemsSource उपयोग कर रहे हैं, क्या आप अपने उपकरण पट्टी डेटा के लिए एक टेम्पलेट को परिभाषित करने के ToolBar.ItemTemplate उपयोग कर सकते हैं।

<ToolBar.ItemTemplate> 
    <DataTemplate> 
     <Button 
      Width="21" 
      Height="21" 
      Content="{Binding}" /> 
    </DataTemplate> 
</ToolBar.ItemTemplate> 

ध्यान दें कि कुछ मामलों में, इन दोनों के अतिरिक्त लचीलेपन के लिए एक ही समय में किया जा सकता है।

यह लागू होता है न केवल उपकरण पट्टी करने के लिए, लेकिन ItemsControl के सभी डेरिवेटिव के लिए।

शुभकामनाएं,