मूल्य बदलने के लिए एक कस्टम निर्भरता संपत्ति प्रोग्राम

0

सवाल

मैं का मान बदलने के लिए एक कस्टम निर्भरता संपत्ति प्रोग्राम.

यह मेरी XAML:

<Window.Resources>
      <ResourceDictionary>
         <Style
            x:Key="TreeViewItemStyle"
            TargetType="TreeViewItem">    
            <Style.Triggers>
               <Trigger
                  Property="local:ColorHelper.IsColor"
                  Value="True" >
               <Setter
                  Property="Foreground"
                  Value="{Binding Color}" />
               </Trigger>
               <Trigger
                  Property="local:ColorHelper.IsColor"
                  Value="False" >
               <Setter
                  Property="Foreground"
                  Value="Black" />
               </Trigger>
            </Style.Triggers>
           </Style>
      </ResourceDictionary>
   </Window.Resources>

मैं चाहता हूँ की इस शैली के लिए लागू किया जा करने के लिए एक treeview

<TreeView
           HorizontalAlignment="Stretch"
           Margin="15,65,15,0"
           x:Name="treeView1"
           VerticalAlignment="Stretch"
           ItemContainerStyle="{StaticResource TreeViewItemStyle}"
           ItemTemplate="{StaticResource CheckBoxItemTemplate}"
           Grid.ColumnSpan="1"
           Grid.RowSpan="2"
           Grid.Column="1" />

और रंग बदलने के मूल्य IsColor संपत्ति के माध्यम से एक चेकबॉक्स:

<CheckBox
                     Name="CHK_Gray"
                     VerticalAlignment="Center"
                     Foreground="DarkGray"
                     Grid.Row="6"
                     Grid.Column="0"
                     Grid.RowSpan="1"
                     Grid.ColumnSpan="2"
                     Unchecked="grayCheckBox_Unchecked"
                     Checked="grayCheckBox_Checked">
                     Show Created Assembly (in Grey)
                  </CheckBox>

निर्भरता संपत्ति बनाई गई है इस तरह:

 public class ColorHelper : DependencyObject
   {
      public static readonly DependencyProperty IsColorProperty = DependencyProperty.Register(
          "IsColor", typeof(bool), typeof(ColorHelper), new PropertyMetadata(false));


      public static void SetIsColor(DependencyObject target, Boolean value)
      {
         target.SetValue(IsColorProperty, value);
      }

      public static bool GetIsColor(DependencyObject target)
      {
         return (bool)target.GetValue(IsColorProperty);
      }
   }

मैं कैसे कर सकते हैं में जाँच की है और अनियंत्रित घटना के लिए मूल्य परिवर्तन के IsColor संपत्ति?

private void grayCheckBox_Checked(object sender, RoutedEventArgs e)
  {
     ???
  }
  private void grayCheckBox_Unchecked(object sender, RoutedEventArgs e)
  {
     ???
  }

बहुत बहुत धन्यवाद आपकी मदद के लिए!

c# data-binding wpf
2021-11-23 18:29:39
1

सबसे अच्छा जवाब

0

आप की जरूरत है पाने के लिए के लिए एक संदर्भ के तत्व जो आप चाहते हैं को सेट करने के लिए संलग्न करने के लिए संपत्ति के साथ शुरू.

तुम कोशिश कर सकते हो इस विधि प्राप्त करने के लिए TreeViewItem तत्वों के TreeView और फिर सेट की संपत्ति के सभी उन है कि यदि आप चाहते हैं कि:

foreach(TreeViewItem tvi i tv.FindTreeViewItems())
    ColorHelper.SetIsColor(tvi, true);

ध्यान दें कि आप नहीं कर सकते संपादित करें टेम्पलेट प्रोग्राम. और यहां तक कि अगर तुम सकता है, यह नहीं होगा वास्तव में मदद के रूप में यह पहले से ही लागू किया गया करने के लिए वास्तविक तत्व है ।

2021-11-24 14:43:11

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में