2009-12-01 5 views
30

क्या किसी को पता है कि किसी संपत्ति के मूल्य के आधार पर किसी डेटाबेस को ListBox में आइटम कैसे अक्षम कर सकते हैं?किसी संपत्ति मूल्य के आधार पर एक डेटाबेस सूचीबॉक्स आइटम को अक्षम कैसे करें?

अधिमानतः मैं एक DataTrigger, जो जब एक निश्चित संपत्ति false है, इस मद (यह असंभव को चुनने के लिए कर रहे हैं) ListBox में अन्य मदों को प्रभावित किए बिना को निष्क्रिय करना चाहते हैं।

<ListBox> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <TextBlock Name="textBlock" Text="{Binding Description}"/> 
     <DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding IsEnabled}" Value="False"> 
      ?? 
     </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

उत्तर

62

आप ItemContainerStyle उपयोग कर सकते हैं:

<ListBox> 
    <ListBox.ItemContainerStyle> 
    <Style TargetType="{x:Type ListBoxItem}"> 
     <Style.Triggers> 
     <DataTrigger Binding="{Binding YourPropertyName}" Value="False"> 
      <Setter Property="IsEnabled" Value="False"/> 
     </DataTrigger> 
     </Style.Triggers> 
    </Style> 
    </ListBox.ItemContainerStyle> 
</ListBox> 
+0

बढ़िया काम करता है! यह SurfaceListBox नियंत्रण – GibboK

+0

पर भी काम करता है जैसा कि इसे करना चाहिए। क्या आप जानते हैं कि मैं चयन के लिए कैसे अक्षम कर सकता हूं, लेकिन अभी भी आइटम टेम्पलेट के अंदर एक बटन सक्षम होना चाहिए? –

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

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