मेरे पास एकाधिक स्टोरीबोर्ड हैं जो एक ही संपत्ति तक पहुंचते हैं (एक ही समय में नहीं)। एक स्टोरीबोर्ड ने संपत्ति को बदलने के बाद, दूसरे को इसका कोई फायदा नहीं हुआ और कुछ भी नहीं बदला .. मैं इसके खिलाफ क्या कर सकता हूं?एक संपत्ति पर एकाधिक स्टोरीबोर्ड
नमूना:
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Name="Border" BorderBrush="DarkGray" BorderThickness="1" Margin="3">
<ContentPresenter />
<Border.Background>
<SolidColorBrush />
</Border.Background>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="#3e8bff" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="White" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsSelected" Value="False" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="Orange" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="White" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.ExitActions>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Items>
<sys:String>hey</sys:String>
<sys:String>du</sys:String>
<sys:String>dux</sys:String>
<sys:String>duy</sys:String>
<sys:String>dua</sys:String>
</ListBox.Items>
</ListBox>
यह मैं कर सकता सबसे छोटी नमूना कोड है। किसी आइटम को छिपाने के बाद, यह चयनित होने पर नीला नहीं होगा (एक आइटम पर क्लिक करने का प्रयास करें और फिर तीर कुंजियों का उपयोग बिना उन्हें घुमाने के आइटम का चयन करें)।
"दूसरे व्यक्ति के पास इसका कोई उपयोग नहीं है और कुछ भी नहीं बदलता है" का क्या मतलब है? क्या आपको एक त्रुटि संदेश मिलता है? विशिष्ट अप्रत्याशित व्यवहार? –
अधिक विशिष्ट होने के लिए, मेरे पास एक सूची बॉक्स है। ItemContainerStyle में मैं सभी ListBoxItems के लिए एक टेम्पलेट परिभाषित करता हूं। यहां मैं IsMouseOver को ट्रिगर करता हूं और एक चयनित फीड इन/आउट प्रभाव के लिए स्टोरीबोर्ड को परिभाषित करता हूं। जब आइटम आच्छादित होता है, तो पृष्ठभूमि नारंगी होनी चाहिए, और जब इसे चुना जाता है तो इसे नीला रंग बदलना चाहिए। मैं जितनी बार चाहूं एक आइटम को होवर कर सकता हूं, यह काम करता है। लेकिन अगर मैं इसे चुनता हूं, और इसे फिर से अचयनित करता हूं, तो होवर प्रभाव अब और काम नहीं करता है। अगर मैं विभिन्न गुणों का उपयोग करता हूं, तो यह अभी भी काम करता है। – eWolf
यह ट्रिगर्स के आदेश के साथ कुछ प्रतीत होता है। यदि मैं IsMeouse ट्रिगर के सामने IsSelected ट्रिगर डालता हूं (जो, वैसे, एक मल्टी ट्रिगर होता है और जब आइटम को चुना जाता है तो उठाया नहीं जाता है), यह दूसरा तरीका है: आइटम का चयन करने के बाद IsSelected प्रभाव काम नहीं करता है एक बार। – eWolf