से मेल नहीं खाता है मेरे पास Button
के TargetType
के लिए परिभाषित एक सरल बटन स्टाइल है; लेकिन शैली को बटन पर सेट करना एक निष्पादन देता है।लक्ष्य प्रकार टाइप तत्व
<Window>
<Window.Resources>
<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Magenta"/>
</Style>
</Window.Resources>
<StackPanel Orientation="Horizontal">
<Button Content="1" FocusVisualStyle="{StaticResource buttonStyle}"/>
</StackPanel>
</Window>
अतिरिक्त जानकारी: 'बटन' TargetType तत्व 'नियंत्रण' के प्रकार से मेल नहीं खाता।
इसके अलावा, TargetType
Control
के रूप में स्थापित करने के रन-टाइम त्रुटि निकाल देता है, लेकिन जब यह Focus
हो जाता है बटन के दृश्य शैली नहीं बदलता है।
शैली जब Button.Style
के रूप में सेट संपादित काम करता है मैं दो विशिष्ट प्रश्न हैं:
मैं तथ्य यह है कि
FocusVisualStyle
FrameworkElement
की संपत्ति है और करने के लिए सहमतFrameworkContentElement
, लेकिन बटन पर इसे सेट करने में त्रुटि क्यों है, डी बावजूद तथ्य यह है कि शैली एक namedstyle और नहीं एक typedstyle है?FocusVisualStyle
Button
पर क्यों प्रदान नहीं किया जाता है? क्याButton.FocusVisualStyle
टेम्पलेट्स, ट्रिगर्स या टेम्पलेट ट्रिगर्स जैसे किसी भी उच्च प्राथमिकता मूल्य से आंतरिक रूप से अधिक सवार है?
का अर्थ मैं मानता हूँ, लेकिन जब बटन ध्यान केंद्रित हो जाता है, अपनी शैली नहीं करता है बदल नहीं है या क्या मैं अवधारणा गलत कर रहा हूं? – Marshal
स्पष्टीकरण के लिए, 'फोकस विज़ुअल स्टाइल' 'बटन' की शैली को प्रभावित नहीं कर सकता है। यह केवल 'बटन' की मौजूदा शैली में जोड़ता है। आपके पास जो समस्या है वह यह है कि आप 'बटन' शैली को 'फोकसविज़ुअल स्टाइल' पर सेट करने का प्रयास कर रहे हैं जो केवल 'नियंत्रण' शैली को स्वीकार करता है। मुझे उम्मीद है कि मैंने काफी अच्छी तरह समझाया है। –
यह थोड़ी देर के लिए मेरे लिए काम नहीं कर रहा था क्योंकि मैं बटन नियंत्रण के लिए शैली की एक ही संपत्ति को स्थापित कर रहा था। ऑनलाइन संपत्ति मूल्य ओवरराइडिंग था जो शैली ट्रिगर "बटन स्टाइल" द्वारा सेट किया जाता है। मीठे जवाब! – RBT