के रूप में बटन टॉगल करें मैं कई टॉगल बटन समूह करना चाहता हूं और उन्हें रेडियो बटन के रूप में व्यवहार करना चाहता हूं। तो क्या मैं अपनी XAML करने के लिए रेडियो बटन जोड़ने था और निम्नलिखित शैली बनाया:रेडियो बटन शैली
<Style BasedOn="{StaticResource {x:Type ToggleButton}}" TargetType="RadioButton">
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Foreground" Value="White"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
अब रेडियो बटन टॉगल बटन की तरह लग रही है, और शैली के फॉन्ट और अग्रभूमि गुण लागू होते हैं, लेकिन अगर मैं पर क्लिक करें टॉगल बटनों में से एक, पृष्ठभूमि लाल रंग में नहीं बदला जाता है। यदि मैं Ischecked के आधार पर अग्रभूमि बदलता हूं, तो यह काम करता है, लेकिन जब Ischecked सत्य है तो मैं पृष्ठभूमि को बदलने के लिए नहीं मिल सकता।
कोई विचार?
अद्यतन:
ऐसा लगता है कि डिफ़ॉल्ट ToggleButton शैली पृष्ठभूमि संपत्ति का उपयोग नहीं करता। मैं अपनी समस्या को हल करने के लिए अब नीचे दिए गए कोड का उपयोग कर रहा हूं। अगर कोई नीचे से कुछ भी गलत देखता है, तो कृपया मुझे बताएं।
<DataTemplate x:Key="RedBackground">
<Grid Background="Red">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Text="{Binding}"/>
</Grid>
</DataTemplate>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="ContentTemplate" Value="{StaticResource RedBackground}"/>
</Trigger>
</Style.Triggers>
</Style>
यदि आप स्पष्ट रूप से 'पृष्ठभूमि' को 'रेडियो' पर अपने 'रेडियोबटन' पर सेट करते हैं, तो क्या यह वास्तव में काम करता है? –
हां। रेडियो बटन पर पृष्ठभूमि = "लाल" सेट करना लाल पृष्ठभूमि के साथ एक टॉगल बटन प्रदर्शित करता है। – Flack