2015-05-28 8 views
5

मैं सिर्फ इस मुद्दे पर ध्यान का चयन करें, जब भी मैं एक विस्तारक जिसकी मूल एक चेकबॉक्स यह जाँच/अनियंत्रित घटनाओं भले ही चेकबॉक्स चेक नहीं किया है ट्रिगर करता है का चयन करें।चेकबॉक्स जाँच की और अनियंत्रित घटनाओं निकाल दिया जा रहा है जब मैं एक विस्तारक

यहाँ एक .gif है कि यह होने वाली चलता है। ऊपरी दाएं की संख्या चेकबॉक्स की संख्या का प्रतिनिधित्व करती है, जब भी कोई बॉक्स चेक या अनचेक किया जाता है, तो मैं बस ऊपर और नीचे गिनने के लिए सेट करता हूं। हालांकि काउंटर स्वयं चिंता नहीं कर रहा है, हालांकि यह दिखाने का एक तरीका है।

प्रत्येक चेकबॉक्स के लिए उनके Checked और UnChecked ईवेंट मेरे चयन की विधि को इंगित करते हैं।

enter image description here

क्या ऐसा हो खड़ी कर रहा है, और मैं इसे रोकने के बारे में कैसे जाते हैं?

संपादित करें: XAML

  <Expander Loaded="VerifyExpanderLoaded" ExpandDirection="Down" IsExpanded="True" FontSize="14" FontWeight="Bold" Margin="5" BorderThickness="1" BorderBrush="#FF3E3D3D"> 
      <Expander.Header> 
       <DockPanel RenderTransformOrigin="0.5,0.5" LastChildFill="False" Margin="0" HorizontalAlignment="Stretch"> 
        <TextBlock Text="Verify Caller and Account" DockPanel.Dock="Left" VerticalAlignment="Center" Margin="0"/> 
        <Button DockPanel.Dock="Right" Margin="1,0" Click="VerifyUncheckAll"> 
         <TextBlock Text="Uncheck All" Margin="1,0" FontSize="12" FontWeight="Normal"/> 
        </Button> 
        <Button DockPanel.Dock="Right" Margin="1,0" Click="VerifyCheckAll"> 
         <TextBlock Text="Check All" FontSize="12" FontWeight="Normal" Margin="1,0"/> 
        </Button> 
        <TextBlock x:Name="VerifyCheckboxCount" Text="0/0" DockPanel.Dock="Right" VerticalAlignment="Center" FontSize="16" FontWeight="Bold" Margin="0,0,10,0"/> 
       </DockPanel> 
      </Expander.Header> 
      <ListBox Background="{x:Null}" BorderBrush="{x:Null}"> 
       <CheckBox x:Name="Authentication_CallerName_Checkbox" HorizontalAlignment="Center" Margin="10,5,0,0" Grid.ColumnSpan="2" FontSize="12" VerticalAlignment="Center" Checked="VerifyCheckBoxChecked" Unchecked="VerifyCheckBoxChecked"> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"> 
         <TextBlock Text="Caller's Name" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/> 
         <StackPanel> 
          <Expander ExpandDirection="Right" Margin="5,2,0,0" VerticalAlignment="Bottom" HorizontalAlignment="Right" FontSize="14"> 
           <TextBlock Text="Obtain Callers Name " HorizontalAlignment="Center" Margin="0" VerticalAlignment="Center" FontWeight="Normal" FontStyle="Italic"> 
           <Hyperlink x:Name="AuthenticationWikiLink" NavigateUri="[Redacted]" RequestNavigate="ExternalLinks"> 
            Link 
           </Hyperlink> 
           </TextBlock> 
          </Expander> 
         </StackPanel> 
        </StackPanel> 
       </CheckBox> 
+1

हम कुछ कोड हो सकता है कृपया? चेक बॉक्स को विस्तारक में रखा गया है जब बाध्यकारी समस्याएं हैं ... – Muds

+1

आपको इसे रोकने से रोकने की आवश्यकता क्यों है? यह किस समस्या का कारण बन रहा है? –

+0

एक्सएएमएल में जोड़ा गया। डेविड, क्योंकि यह काउंटर को घटना के दौरान आग लगने पर संपत्ति के आधार पर चेकबॉक्स को चेक या अनचेक के रूप में गिनने का कारण बन रहा है। मुझे पता है कि इसके आसपास काम करने के तरीके हैं, और अन्य विधियों का उपयोग मैं यह निर्धारित करने के लिए कर सकता हूं कि यह चेक किया गया है या नहीं। हालांकि यह इस प्रश्न के दायरे से बाहर है। –

उत्तर

0

क्या ऐसा हो खड़ी कर रहा है?

मैं नहीं जानता। मुझे लगता है कि यह घटनाओं के कारण होता है। आप शायद ऐसा होने से रोकने सकता है, यदि आप EventArgs के रूप में सही स्थिति में संभाला निर्धारित किया है।

मैं कैसे इसे रोकने के बारे में जाते हैं?

सबसे पहले यहां इस्तेमाल किया गया एक्सएएमएल है। यह आपके द्वारा पोस्ट किए गए एक सरलीकृत संस्करण पर आधारित है।

<CheckBox x:Name="checkbox" Checked="VerifyCheckBoxChecked" Unchecked="VerifyCheckBoxChecked"> 
    <StackPanel Orientation="Horizontal"> 
     <TextBlock Text="Test:" VerticalAlignment="Center"/> 
     <StackPanel> 
      <Expander ExpandDirection="Right" Margin="5,2,0,0" VerticalAlignment="Bottom" HorizontalAlignment="Right" FontSize="14" MouseEnter="Expander_MouseEnter" MouseLeave="Expander_MouseLeave"> 
       <TextBlock Text="Open" VerticalAlignment="Center"/> 
      </Expander> 
     </StackPanel> 
    </StackPanel> 
</CheckBox> 

और यहाँ .cs

public partial class MainWindow : Window 
{ 
    bool mouseOverExpander = false; 

    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void VerifyCheckBoxChecked(object sender, RoutedEventArgs e) 
    { 
     if (!mouseOverExpander) 
     { 
      if (true) ; 
     } 
    } 

    private void Expander_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) 
    { 
     mouseOverExpander = true; 
    } 

    private void Expander_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) 
    { 
     mouseOverExpander = false; 
    } 
} 

यह अवांछित VerifyCheckBoxChecked नहीं रोकता कॉल है, लेकिन यह उन्हें बाहर फिल्टर।

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