के साथ ट्रिगर मेरे पास WPF में कुछ टेक्स्ट बॉक्स और रेडियो बटन का संग्रह है। मैं ट्रिगर का उपयोग ओली एक रेडियो बटन की इस्कैक्ड संपत्ति को सेट करने के लिए करना चाहता हूं, जिसका कोई नाम है यदि कोई टेक्स्ट बॉक्स फोकस करता है। मैं कुछ उदाहरणों की जांच करता हूं लेकिन मुझे वह चीज़ नहीं मिल सका जो मैं ढूंढ रहा हूं। याद रखें, हम एमवीवीएम पैटर्न का उपयोग कर रहे हैं और पीछे कोई कोड नहीं है।लक्ष्य नाम
मैं निम्नलिखित कोड की कोशिश की और इस संकलन त्रुटि है:
टार्गेटनाम संपत्ति एक शैली सेटर
<UserControl.Resources>
<Style x:Name="myTest" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RadioButton.IsChecked" Value="True" TargetName="myRadioButton"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
मैं अन्य पदों पढ़ा है और DataTrigger समस्या को ठीक पर सेट नहीं किया जा सकता है।
<Style x:Name="myTest2" TargetType="RadioButton" >
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, ElementName=myTextBox}" Value="True">
<Setter Property="IsChecked" Value="True" ></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
यह उपयोगी मैं आप हमें कम से कम XAML कोड दिखा सकता है हो सकता है;) –
MSDN से 'आप जहां सेटर संग्रह (संग्रह के दायरे के भीतर किसी भी तत्व के नाम के इस होटल में सेट कर सकते हैं कि यह सेटर का हिस्सा है) लागू किया गया है। यह आम तौर पर एक नामित तत्व होता है जो इस सेटटर वाले टेम्पलेट के भीतर होता है। लक्ष्य नाम का उपयोग ज्यादातर नियंत्रण टेम्पलेट्स के भीतर किया जाता है, न केवल शैलियों के भीतर, जैसे कि आप इसका उपयोग करने का प्रयास कर रहे हैं। –
डब्ल्यूपीएफ ट्रिगर, शैलियों और टेम्पलेट्स के चौराहे पर किसी और को लगातार इस तरह की समस्या है? स्टाइल सेटर में TargetName का उपयोग नहीं कर सकता। ट्रिगर संग्रह में केवल EventTriggers हो सकते हैं, जब तक कि यह शैली में न हो। ओह, यह नियंत्रण केवल एक नियंत्रण टेम्पलेट में काम करता है, डेटा टेम्पलेट नहीं ... – user1454265