2011-02-08 30 views
14

मैं सी # और डब्ल्यूपीएफ का उपयोग कर रहा हूं और मैं मूल रूप से कुछ टॉगल बटन चाहता हूं और उनमें से केवल एक ही समय में चुना जा सकता है।मैं टॉगलबूटन का एक सेट कैसे बना सकता हूं जो रेडियोबूटन की तरह व्यवहार करता है?

मुझे इसके बारे में another question मिला, लेकिन वहां दिखाया गया समाधान काम नहीं करता है और मुझे नहीं पता कि क्यों।

यदि मैं ऊपर दिए गए प्रश्न में उल्लिखित करने की कोशिश करता हूं, ListBox के ItemTemplate लागू नहीं है। मुझे बस सूची बॉक्स में टॉगल बटन नहीं मिलते हैं, इसके बजाय इसे "सामान्य सूची बॉक्स" के रूप में दिखाया जाता है।

मेरे टॉगल बटन शैली इस तरह दिखता है, मेरे संसाधन फ़ाइलों में से एक में शामिल:

<Style x:Key="ToggleButtonListBox" TargetType="{x:Type ListBox}"> 
    <Setter Property="ListBox.ItemTemplate"> 
     <Setter.Value> 
      <DataTemplate> 
       <ToggleButton Content="{Binding}" 
          IsChecked="{Binding IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}" /> 
      </DataTemplate> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="ListBox.ItemsPanel"> 
     <Setter.Value> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal" /> 
      </ItemsPanelTemplate> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="BorderThickness" Value="0" /> 
</Style> 

मैं, XAML कोड में सीधे आइटम जोड़ना चाहते हैं ताकि के लिए मेरे कोड

कुछ ऐसा दिखाई देगा
<ListBox Style="{StaticResource ToggleButtonListBox}"> 
    <ListBoxItem>test1</ListBoxItem> 
    <ListBoxItem>test2</ListBoxItem> 
</ListBox> 

मैं बटनों का एक सेट कैसे बना सकता हूं?

+0

के संभावित डुप्लिकेट [कैसे WPF में रेडियो बटन की तरह काम करने के लिए टॉगल बटन के एक समूह को पाने के लिए?] (Http://stackoverflow.com/questions/2362641/how-to-get-a-group- ऑफ-टॉगल-बटन-टू-एक्ट-जैसे-रेडियो-बटन-इन-डब्ल्यूपीएफ) –

उत्तर

37

यदि आप रेडियो बटन चाहते हैं जो टॉगल बटन की तरह दिखते हैं तो रेडियो बटन टॉगल बटन की तरह दिखने के लिए स्टाइल नहीं होंगे आपकी समस्या का समाधान?

<StackPanel> 
    <RadioButton GroupName="groupFoo" Style="{StaticResource {x:Type ToggleButton}}">Button 1</RadioButton> 
    <RadioButton GroupName="groupFoo" Style="{StaticResource {x:Type ToggleButton}}">Button 2</RadioButton> 
</StackPanel> 
+0

हाँ मुझे लगता है कि वास्तव में मेरी समस्या हल हो गई है। यह करने की कोशिश की तुलना में यह इतना आसान है। भले ही मैंने इसके बारे में एक छोटा सा पल सोचा, मैं कल्पना नहीं कर सका कि यह अच्छी तरह से काम करता है और यह आसान है। मैं ऊपर दिए गए प्रश्न में समाधान संपादित करूंगा। आपका बहुत बहुत धन्यवाद! –

+1

@ सोरेन: यह डब्ल्यूपीएफ के बारे में सबसे बड़ी चीजों में से एक है: व्यवहार प्रेजेंटेशन से अलग है। साथ ही, समाधान को उत्तर के रूप में पोस्ट करना बेहतर होगा। थोड़ी देर के बाद आप इसे सही उत्तर के रूप में स्वीकार कर सकते हैं। –

+0

मुझे पता है, मैंने इसे स्वीकार करने की कोशिश की और यह अभी तक काम नहीं किया (3 मिनट लॉक)। अब यह किया। एक बार फिर धन्यवाद! –

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

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