मेरे पास ItemsControl
है जो आयताकारों का एक गुच्छा प्रदर्शित करता है। प्रत्येक आयताकार को ऊपर और बाईं ओर ऑफसेट करने की आवश्यकता होती है। इसलिए, मैंने RectangleStyle
बनाया है जो चौड़ाई, ऊंचाई, एक्स अनुवाद, और आयताकार के लिए वाई अनुवाद सेट करने के लिए बाइंडिंग का उपयोग करता है।WPF शैली में बाध्यकारी निष्पादन योग्य "प्रशासनिक फ्रेमवर्क निष्पादन नहीं ढूंढ सकता" त्रुटि
चौड़ाई और ऊंचाई बाइंडिंग ठीक काम कर रहे हैं, लेकिन मैं TranslateTransform
बाइंडिंग के लिए निम्न त्रुटि हो रही है:
<ItemsControl
Style="{StaticResource ItemsControlStyle}"
ItemsSource="{Binding Zones}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Style="{StaticResource RectangleStyle}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
यहाँ है:
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=Offset.X; DataItem=null; target element is 'TranslateTransform' (HashCode=16452547); target property is 'X' (type 'Double')
यहाँ मेरी ItemControl
की परिभाषा है ItemsControlStyle
की परिभाषा:
<Style x:Key="ItemsControlStyle" TargetType="ItemsControl">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style>
<Setter Property="Canvas.Left" Value="{Binding Point.X}" />
<Setter Property="Canvas.Top" Value="{Binding Point.Y}" />
</Style>
</Setter.Value>
</Setter>
</Style>
और यहाँ RectangleStyle
की परिभाषा है:
<Style x:Key="RectangleStyle" TargetType="Rectangle">
<Setter Property="Width" Value="{Binding Size.Width}" />
<Setter Property="Height" Value="{Binding Size.Height}" />
<Setter Property="RenderTransform">
<Setter.Value>
<!-- these bindings are causing the error -->
<TranslateTransform X="{Binding Offset.X}" Y="{Binding Offset.Y}" />
</Setter.Value>
</Setter>
</Style>
RectangleStyle
की RenderTransform
सेटर में दो बाइंडिंग त्रुटि के कारण हैं, लेकिन मैं इस समस्या को ठीक करने के लिए क्या करना है यकीन नहीं है। दिलचस्प बात यह है कि ग्राफिक्स ठीक से अनुवादित किए जा रहे हैं, इसलिए डब्ल्यूपीएफ बाइंडिंग को हल करने में सक्षम है - यह किसी कारण से उनके बारे में खुश नहीं है।
बाइंडिंग को ठीक करने के लिए मैं क्या कर सकता हूं?
अच्छा, डुप्लिकेट करना आसान है। मैंने लगभग 10 अलग-अलग चीजों की कोशिश की, लेकिन बाइंडिंग ठीक काम करने के साथ मैं सोच रहा हूं कि क्या आपको इसे एमएस कनेक्ट पर लॉग करना चाहिए और उन्हें आश्चर्य है कि यह एक बग है या नहीं। –
ऐसा लगता है कि बग रिपोर्ट लिंक या तो बदल गया है या अब सार्वजनिक नहीं है। एक्स जोड़ने के बाद इस के संकल्प के बारे में सोचना: नाम मेरे लिए कुछ भी नहीं करता है। –