2012-10-10 11 views
10

घुमाएं मैंने हाल ही में निम्नलिखित मुद्दे पर ठोकर खाई है। मेरे डब्ल्यूपीएफ एप्लीकेशन में मैंने थोड़ा डिजाइनर लागू किया है, जहां आप कैनवास पर तत्व डाल सकते हैं, स्थानांतरित कर सकते हैं, स्केल कर सकते हैं और उन्हें घुमा सकते हैं। वेब पर खोज करते समय मुझे इस समस्या का समाधान http://www.codeproject.com/Articles/22952/WPF-Diagram-Designer-Part-1 मिला। यह समाधान System.Windows.Controls.Primitives.Thumb क्लास द्वारा चल रहा है, स्केलिंग और घूर्णन लागू करता है, इसलिए मैंने सोचा कि मैं सिर्फ इस ऐप को अपने ऐप में एडजस्ट कर दूंगा और आगे बढ़ूंगा। समस्या यह है कि, मेरी मशीन पर सब ठीक है, दूसरों पर कुछ प्रतिपादन समस्याएं हैं।ContentControl घुमावदार सजावट

screenshot

मैं विंडोज 7 का उपयोग कर रहा है, भले ही मैं अन्य विंडो 7 पर मेरे अनुप्रयोग चलाने और यह भी गलत प्रदान की गई है: मैं मैं क्या कह रहा हूँ का एक स्क्रीन शॉट दिया है। मैं अपनी मशीन पर विंडो एक्सपी और अन्य संगतता सेटिंग्स के साथ अपना ऐप चलाता हूं लेकिन मैं इस बग को पुन: उत्पन्न करने में सक्षम नहीं था। इसके बारे में क्या है और मैं क्या गलत कर रहा हूं?

यह मेरी XAML फाइल मैं स्टाइल

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         xmlns:s="clr-namespace:COMPANY.WPUI.LayoutDesignModel.Thumbs"> 
     <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="MoveThumb.xaml"/> 
     <ResourceDictionary Source="ResizeDecorator.xaml"/> 
     <ResourceDictionary Source="RotateDecorator.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 

     <Style x:Key="DesignerItemStyle" TargetType="ContentControl"> 
     <Setter Property="MinHeight" Value="50"/> 
     <Setter Property="MinWidth" Value="50"/>  
     <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/> 
     <Setter Property="SnapsToDevicePixels" Value="true"/>  
     <Setter Property="Template"> 
      <Setter.Value> 
      <ControlTemplate TargetType="ContentControl"> 
       <Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}"> 
       <Control Name="RotateDecorator" 
         Template="{StaticResource RotateDecoratorTemplate}" 
         Visibility="Collapsed"/> 
       <s:MoveThumb Template="{StaticResource MoveThumbTemplate}" 
          Cursor="SizeAll"/> 
       <Control x:Name="ResizeDecorator" 
         Template="{StaticResource ResizeDecoratorTemplate}" 
         Visibility="Collapsed"/> 
       <ContentPresenter Content="{TemplateBinding ContentControl.Content}"/> 
       </Grid> 
       <ControlTemplate.Triggers> 
       <Trigger Property="Selector.IsSelected" Value="True"> 
        <Setter TargetName="ResizeDecorator" Property="Visibility" Value="Visible"/> 
        <Setter TargetName="RotateDecorator" Property="Visibility" Value="Visible"/> 
       </Trigger> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
     </Style> 
    </ResourceDictionary> 

एक सामग्री पर नियंत्रण के लिए उपयोग कर रहा हूँ है इस RotateDecorator.xaml फ़ाइल है कि समस्याओं के कारण होता है:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:s="clr-namespace:COMPANY.WPUI.LayoutDesignModel.Thumbs"> 

    <Style TargetType="{x:Type s:RotateThumb}">   
     <Setter Property="Cursor" Value="Hand"/> 
     <Setter Property="Control.Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type s:RotateThumb}"> 
        <Grid Width="30" Height="30">       
         <Ellipse Width="30" Height="30" Fill="#B0B0BB" /> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

    <ControlTemplate x:Key="RotateDecoratorTemplate" TargetType="{x:Type Control}"> 
     <Grid> 
      <s:RotateThumb Margin="-18,-18,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/> 
      <s:RotateThumb Margin="0,-18,-18,0" VerticalAlignment="Top" HorizontalAlignment="Right" /> 
      <s:RotateThumb Margin="0,0,-18,-18" VerticalAlignment="Bottom" HorizontalAlignment="Right" /> 
      <s:RotateThumb Margin="-18,0,0,-18" VerticalAlignment="Bottom" HorizontalAlignment="Left" /> 
     </Grid> 
    </ControlTemplate> 
</ResourceDictionary> 
+0

हाय @ क्रज्यू 4, आपको अपने प्रश्न में अपना कोड शामिल करना चाहिए। – Surfbutler

+0

क्या कोडप्रोजेक्ट नमूना आपकी सभी मशीनों पर सही ढंग से चल रहा है? – Surfbutler

उत्तर

0

पहली बात मैं के बारे में सोच जब भी ऐसा कुछ दिखाई देता है तो ग्राफिक्स कार्ड होता है। आप कुछ ग्राफिक्स कार्ड के साथ कुछ अजीब व्यवहार प्राप्त कर सकते हैं, खासकर यदि उनके ड्राइवर ठीक से/अद्यतित नहीं हैं।

0

यह मर्ज किए गए शब्दकोशों के कारण होता है। आरेख डिजाइनर प्रोजेक्ट मूव, आकार बदलें, और कार्यों को 3 अलग-अलग शब्दकोशों में घुमाता है। स्क्रीनशॉट से आप देख सकते हैं कि आकार का अंगूठा लोड हो गया है। मेरे मामले में चाल कार्रवाई भी काम करती थी, लेकिन सवाल की तरह घुमावदार अंगूठे प्रदर्शित नहीं किए गए थे। कोई त्रुटि नहीं फेंक दी गई, लेकिन स्नूप के साथ परीक्षा से पता चलता है कि यह घुमावदार शब्दकोश नहीं ढूंढ पाया।

यह समाधान क्या मैं ऊपर कवर किया है पर फैलता: https://stackoverflow.com/a/17083360/978622

हल करने के लिए: संसाधन शब्दकोशों कम्बाइन एक भी संसाधन शब्दकोश में।

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